2

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

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

根据文档(http://api.jquery.com/after/),这应该返回一个 jQuery 集,其中包含一个 div 和按该顺序排列的段落。相反,我只是得到一个 div。我发现至少有两个涉及此类行为的错误报告 - http://bugs.jquery.com/ticket/8759http://bugs.jquery.com/ticket/10517 - 但据称两者都已修复1.9.1。是这种情况吗?还是我误解了这种方法应该如何处理断开的元素?

4

1 回答 1

0

jQuery 1.9 升级指南说断开连接的节点不再有任何特殊情况处理,.after()它只是还没有进入主文档。就特殊情况而言,您提到的错误只是冰山一角。

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

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

于 2013-03-17T14:33:31.750 回答