Изменить порядок нескольких списков одновременно

0

Как я могу изменить порядок обоих списков, не мешая их смешивать. Я знаю, как это сделать с одним списком, но застрял, когда у меня появилось несколько...

скрипка

HTML:

<ul>
    <li>A</li>
    <li>B</li>
</ul>
<ul>
    <li>C</li>
    <li>D</li>
</ul>
<a href="#" class="switch_order">Switch</a>

JQuery

$('body').on('click', '.switch_order', function(e){
  var list = $('ul');
  var listItems = list.children('li');
  list.append(listItems.get().reverse());
});
  • 0
    Что именно вы имели в виду под изменением порядка .. ??
  • 0
    Что A и B переключаются, так что B становится первым тегом li, а A вторым, и во втором списке та же история с C и D
Показать ещё 2 комментария
Теги:
list
order

3 ответа

1
Лучший ответ

Вы можете использовать:

$('body').on('click', '.switch_order', function(e){
    $('ul li').each(function(i,li){
        $(this).parent().prepend(li);
    })
});

Демо-версия скрипта

  • 0
    Еще приятнее, тх!
1
$('body').on('click', '.switch_order', function(e){
 $('ul').each(function(){
  var listItems = $(this).children('li');
  $(this).append(listItems.get().reverse());
 });
});

Обновлен JSFiddle

  • 0
    Спасибо! Я знал, что это было что-то с каждым (), но не знал, как разместить это, это действительно помогает!
0

Это один из способов

All I did here was give an id to each <ul> and targeted them seperately
  • 0
    Это действительно вариант, но у меня есть список, где люди могут добавлять некоторые ul и li, поэтому я стараюсь не работать с id

Ещё вопросы

Сообщество Overcoder
Наверх
Меню