![](/img/trans.png)
[英]jQuery/JavaScript: how to remove all elements in the first <li> except <a>text</a>
[英]JQuery: how to remove all div elements except first containing sub-string as 'id' tag?
我有幾個div元素,ID為'name_a_1','name_a_2','name_b_3'等等。 我想刪除除名字之外的所有div,它使用JQuery或普通JS從'name_a_'開始?
我成功嘗試通過遵循JQuery訪問第一個和最后一個元素,但是如何訪問除了第一個之外的所有元素?
$('[id^="name_a_"]').first()
$('[id^="name_a_"]').last()
您可以使用組合:not()
和:first
選擇器來定位除first之外的所有元素。
$('[id^="name_a_"]:not(:first)').remove()
或, :gt(index)
選擇器
選擇匹配集中索引大於索引的所有元素。
$('[id^="name_a_"]:gt(0)').remove()
要檢查元素是否具有值,可以使用.filter()
var hasValue = $('[id^="name_a_"]').filter(function(){
return $(this).val().trim() !== '';
}).length > 0;
使用Array.prototype.slice
普通JS示例獲取除第一個之外的所有匹配元素。
Array.prototype.slice.call(document.querySelectorAll('[id^="name_a_"]'), 1) .forEach(elt => elt.parentNode.removeChild(elt))
<ul> <li id="name_a_1">name_a_1</li> <li id="name_a_2">name_a_2</li> <li id="name_a_3">name_a_3</li> <li id="name_a_4">name_a_4</li> </ul>
您還可以使用.not
排除第一個div:
$('div[id^=name_a]').not(':eq(0)').remove();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.