jQuery"之后"选择器问题

Chr*_*mer 8 jquery dom css-selectors

我似乎无法找到一个很好的方法来做到这一点,但它似乎应该很简单.我有一个元素,我想附加一个div.然后我有另一个元素,我想克隆并推入该中间div.这是我希望做的事情:

$("#somediv > ul").after("<div id='xxx'></div>").append($("#someotherdiv").clone());
Run Code Online (Sandbox Code Playgroud)

这似乎很接近,但并不完全存在.这个问题是"append"似乎是在原来的"#somediv> ul"选择器上运行.这种做法很有道理,但这不是我想要的.我怎样才能最有效地选择我用"after"添加的中间div并将"#someotherdiv"放入其中?

Vin*_*ert 9

走另一条路并使用insertAfter().

$("<div id='xxx'></div>")
    .append($("#someotherdiv").clone())
    .insertAfter("#somediv > ul")
Run Code Online (Sandbox Code Playgroud)

尝试在完成工作后将生成的DOM节点添加到文档中.

将节点添加到显示的文档后,浏览器将开始侦听任何更改以刷新视图.在将节点添加到显示的文档之前执行所有工作确实可以提高浏览器性能.


Jim*_*mmy 5

使用insertAfter():

$("<div id='xxx'></div>").insertAfter("#somediv > ul").append($("#someotherdiv").clone())
Run Code Online (Sandbox Code Playgroud)