jQuery 1.9.1中断开的DOM元素的.after方法的预期行为

时间:2013-03-17 06:41:05

标签: javascript jquery dom

我正在使用jQuery 1.9.1使用以下类型的构造构建断开连接的DOM元素:

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

根据文档(http://api.jquery.com/after/),这应该返回一个由div和段落组成的jQuery集合。相反,我只是得到一个div。我发现至少有两个错误报告引用了这样的行为 - http://bugs.jquery.com/ticket/8759http://bugs.jquery.com/ticket/10517 - 但据说两者都在1.9.1中修复。这种情况?或者我误解了这种方法应该如何对断开连接的元素起作用?

1 个答案:

答案 0 :(得分:0)

jQuery 1.9 Upgrade Guide表示断开连接的节点不再在.after()中进行任何特殊情况处理,它还没有进入主文档。就特殊情况而言,你提到的错误只是冰山一角。

不确定用例是什么,但是如果您随着时间的推移创建多个断开连接的元素并希望它们按特定顺序创建,则在一个普通的旧JavaScript数组中创建它们并立即将它们全部附加。如果需要,您仍然可以使用jQuery创建它们。

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