有没有办法wrapAll()但忽略一个元素?

use*_*333 0 javascript jquery jquery-selectors

如果您有以下代码:

<div class="parent">

    <div class="1"></div>
    <div class="2"></div>
    <div class="3"></div>
    <div class="4"></div>
    <div class="5"></div>   

</div>
Run Code Online (Sandbox Code Playgroud)

如何在类2,3,4,5周围用div包装一个新的div,所以它看起来像这样:

<div class="parent">

    <div class="1"></div>

    <div class="sub">
        <div class="2"></div>
        <div class="3"></div>
        <div class="4"></div>
        <div class="5"></div> 
    </div> 

</div>
Run Code Online (Sandbox Code Playgroud)

在父级上的wrapAll会用新的div包装所有内容,有没有办法让它忽略第一个div?

PSL*_*PSL 7

使用gt(0)所有选择,但第一个DIV(直系后代)和wrapAll.这将选择div下存在索引大于0的所有.parentdiv.

$('.parent > div:gt(0)').wrapAll('<div class="sub">');
Run Code Online (Sandbox Code Playgroud)

小提琴

:gt()

输出:

<div class="parent">

    <div class="1">1</div>
    <div class="sub">
            <div class="2">2</div>
            <div class="3">3</div>
            <div class="4">4</div>
            <div class="5">5</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • @MohammadAreebSiddiqui它说,`索引大于0的Div需要用div类包装. (2认同)