簡體   English   中英

JQuery:如何刪除除第一個包含子字符串為'id'標記之外的所有div元素?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM