2015-05-06 1 views
0

У меня есть эта проблема. Я хочу изменить порядок структуры списка в указанный момент.jQuery insertBefore/After() с несколькими экземплярами

Проблема в том, что он вставляет все элементы.

Как указать селектор, поэтому я получил только перегруппировку в списке всего списка и не получил копии из другого списка?

$(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

Вы должны цикла по каждому 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/