Подтвердить что ты не робот

Как удалить все элементы li внутри ul, кроме первого и последнего элементов с помощью jQuery?

У меня есть элемент <ul>. Как удалить все элементы <li> внутри него, за исключением первого и последнего, используя jQuery?

4b9b3361

Ответ 1

Чтобы удалить из всех ul-ов на странице li-ы, которые не являются ни первыми, ни последними:

$('ul li:not(:first-child):not(:last-child)').remove();

Или используя конкретный идентификатор:

$('#yourul li:not(:first-child):not(:last-child)').remove();

Если у вас есть объект jQuery с вашим ul в нем:

$(yourul).find('li:not(:first-child):not(:last-child)').remove();

Ответ 2

Вы пытались выбрать все элементы списка, а затем удалить первый и последний из списка?

$('ul li').not('li:first, li:last').remove()

Ответ 3

$('ul li').not('li:first, li:last').remove(); 

Это приведет к удалению всех элементов из списка Исключить/Исключить первый и последний элемент,


Чтобы удалить все элементы из любого списка

$('#yourulid li').remove();  //remove all li items from list named/id #yourulid

Ответ 4

$("ul li:not(:first-child):not(:last-child)").remove();

Ответ 5

Вот способ сделать это с помощью slice

$("#removeAllButFirstAndLast").click(function() {
  $("#myUL").children().slice(1, -1).remove()
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="myUL">
  <li>first</li>
  <li>second</li>
  <li>third</li>
  <li>fourth</li>
</ul>

<div id="removeAllButFirstAndLast">click to remove all but first and last</div>