如何使用jquery选择元素的所有先前兄弟元素?

Luk*_*jnc 2 html javascript jquery siblings

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

<div id="divOne">
    <p>one</p>
    <p>two</p>
    <div id="aggregatedDiv"></div>
    <p> three </p>
</div>
Run Code Online (Sandbox Code Playgroud)

那么有没有办法删除前三个元素?我不知道元素的数量.我只是想在id="aggregatedDiv"包括之前删除所有内容.

我必须将结果作为html附加到其他div.

$("#otherDiv").append(resultOfSlicedDivOneHtml);
Run Code Online (Sandbox Code Playgroud)

Moh*_*mad 5

您可以使用.prevAll()选择元素的所有先前兄弟,并用于.addBack()将先前的selector(#aggregatedDiv)添加到当前所选元素集.

$("#aggregatedDiv").prevAll().addBack().css("color", "red");
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="divOne">
    <p>one</p>
    <p>two</p>
    <div id="aggregatedDiv">#</div>
    <p> three </p>
</div>
Run Code Online (Sandbox Code Playgroud)

如果要将所选元素添加到另一个元素,请使用底部示例:

$("#aggregatedDiv").prevAll().addBack().appendTo("#divTwo");
Run Code Online (Sandbox Code Playgroud)
#divTwo {color: red;}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="divOne">
    <p>one</p>
    <p>two</p>
    <div id="aggregatedDiv">#</div>
    <p> three </p>
</div>
<div id="divTwo"></div>
Run Code Online (Sandbox Code Playgroud)