带有多个实例的jQuery insertBefore / After()

时间:2015-05-06 05:36:17

标签: jquery insertafter

所以我有这个问题。我想在指定的时刻更改列表结构的顺序。

它插入所有元素的问题。

如何指定选择器,所以我只按整个列表顺序重新排列并且没有从其他列表中获取副本?

$(document).ready(function(){
    $(".row ul li:nth-child(2)").insertAfter(".row ul li:nth-child(3)");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ul>
</div>
<div class="row">
    <ul>
        <li>9</li>
        <li>10</li>
        <li>11</li>
        <li>12</li>
        <li>13</li>
        <li>14</li>
    </ul>
</div>

1 个答案:

答案 0 :(得分:1)

你必须遍历每个ul

$(document).ready(function () {
    $('.row').each(function () {
        $(this).find('ul li:nth-child(2)').insertAfter($(this).find('ul li:nth-child(3)'));
    });
});

演示:https://jsfiddle.net/pvx8d3uc/1/