2013-03-17 77 views
2

我構建使用jQuery 1.9.1使用以下類型的構建體斷開DOM元素:預期行爲1.9.1

$("<div/>").after("<p></p>"); 

根據文檔(http://api.jquery.com/after/ ),這應該返回一個由div和段落組成的jQuery集合。相反,我只是得到一個div。我發現,是指行爲這樣至少有兩個bug報告 - http://bugs.jquery.com/ticket/8759http://bugs.jquery.com/ticket/10517 - 但兩者都涉嫌固定1.9.1。這種情況?或者我誤解了這種方法應該如何處理斷開的元素?

+0

@dfsq對不起,但你沒有辦法。創建隔離件應該創建一個nodefragment,在nodefragment使用。經過()的時候,你應該創建另一個nodefragment,而是它走過它。通過一個未經檢查的jQuery版本,並親自查看。盲評imo。 – Ohgodwhy 2013-03-17 06:57:43

回答

0

jQuery 1.9 Upgrade Guide表示斷開連接的節點在.after()中沒有任何特殊情況處理,它只是還沒有成爲主要文檔。就特殊情況而言,你提到的錯誤只是冰山一角。

不知道該用例是什麼,但如果你創建隨着時間的推移幾個分立元件,並希望他們在一個特定的順序,然後一個普通的老JavaScript數組中創建,並將其附加的一次。如果你願意,你仍然可以使用jQuery來創建它們。

var x = [ $("<div/>")[0], $("<p/>")[0] ]; $(x).appendTo("body");