2013-03-17 81 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");