Javascript 如何使用jquery选择元素之前的所有同级?

Javascript 如何使用jquery选择元素之前的所有同级?,javascript,jquery,html,siblings,Javascript,Jquery,Html,Siblings,假设我有一个包含下一个内容的div: <div id="divOne"> <p>one</p> <p>two</p> <div id="aggregatedDiv"></div> <p> three </p> </div> 您可以使用来选择元素的所有上一个同级元素,并使用来将上一个选择器aggregatedDiv添加到所选元素的当前集合中 $

假设我有一个包含下一个内容的div:

<div id="divOne">
    <p>one</p>
    <p>two</p>
    <div id="aggregatedDiv"></div>
    <p> three </p>
</div>
您可以使用来选择元素的所有上一个同级元素,并使用来将上一个选择器aggregatedDiv添加到所选元素的当前集合中

$aggregatedDiv.prevAll.addBack.csscolor,红色; 一个

两个

这应该起作用:

var elements = $("#aggregatedDiv").prevAll(); //gets everything before aggregatedDiv
elements = elements.add($("#aggregatedDiv")); //we want aggregatedDiv in the collection as well
$("#otherDiv").append(elements); //move them all into the other div

如上所述,您可以使用.prevAll,但也需要.addBack来实现您想要的:

$("#otherDiv").append($("#aggregatedDiv").prevAll().addBack());

andSelf在jQuery1.8中被弃用。应该改用addBack。还有一个小问题,这个答案只是删除了divOne中的元素,但没有添加到otherDiv中。@ADyson谢谢你的提示。以前没有使用过此功能。也修正了我的答案。
$("#otherDiv").append($("#aggregatedDiv").prevAll().addBack());