2014-01-25 81 views
0

我使用此代碼插入特定div中的所有元素之前。如何使用jquery.before()在Dom元素之前插入?

$.post('getcomments.php', {rid:1, frm: 10,to:20}, function(data) { 
          $("#main_post_comments").before(data); 
        }); 

第一次加載頁面的功能工作正常 但之後,這是寫在原始HTML代碼不是我用$。員額上次請求的附加元素原始的HTML元素之前總是追加

這是第一次加載頁面(冷杉產品評論102): The first time the page loads

這是正確地插入第一註釋(評論103 102之後insrted)後: The first comment

這是插入第二評論(評論104註釋102之後也插入)之後 The second comment

如何在即使是動態插入「#main_post_comments」每個元素前插入新的數據?

+3

聽起來像是你可能想'.prepend()'而不是'。之前()'。 – Amber

回答

1

前插的使用,而不是之前

$("#main_post_comments").prepend(data); 
-1

試試這個:

$.post('getcomments.php', {rid:1, frm: 10,to:20}, function(data) { 
          $("#main_post_comments").insertBefore(data); 
        }); 

也許你正在尋找的insertBefore();

http://api.jquery.com/insertbefore/

+0

不適用於我的情況 –

+0

'.insertBefore()'和'.before()'做同樣的事情,但語法相反。您顯示的代碼將嘗試插入'#main_post_comments' _before_'data',但'data'不在DOM中。 – nnnnnn

+0

最近附加章節的標識是什麼? 你必須將它附加到最後一節,如果id是allways「main_post_comments」,那麼它將一直在尋找它。 所以也許增加一個計數器變量我改變id爲「#main_post_comments _」+我; – RicardoE

相關問題