كيفية إزالة جميع عناصر LI داخل UL باستثناء العناصر الأولى والأخيرة باستخدام JQUERY؟

StackOverflow https://stackoverflow.com/questions/906432

  •  05-09-2019
  •  | 
  •  

سؤال

انا املك <ul> جزء. كيف يمكن إزالة كل <li> عناصر داخلها، باستثناء الأول والأخيرة، باستخدام jQuery؟

هل كانت مفيدة؟

المحلول

لإزالة من جميع UL-S على الصفحة LI-S ليست الأولى ولا آخر:

$('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();

نصائح أخرى

هل حاولت تحديد جميع عناصر القائمة، ثم إزالة الأولى والأخيرة من القائمة؟

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

هذا سوف يزيل جميع العناصر من القائمة باستثناء / استبعاد العنصر الأول والأخير،


لإزالة جميع العناصر من أي قائمة

$('#yourulid li').remove();  //remove all li items from list named/id #yourulid
$("ul li:not(:first-child):not(:last-child)").remove();

إليك طريقة للقيام بذلك باستخدام 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>

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top