【发布时间】:2023-03-13 23:19:02
【问题描述】:
我觉得我应该可以在这里使用 :not(:first-child) 选择器,但它似乎不像我希望的那样工作。
我希望标签仍然出现。我怎样才能简单地做到这一点?
<div id="OrdersSearchResult">
<input type="radio" id="SearchResultsLink" name="SearchResultNavigation" checked="checked"/>
<label id="SearchResultsLinkLabel" for="SearchResultsLink">Search Results</label>
</div>
$(document).ready(function(){
$('#OrdersSearchResult').children('label:not(:first-child)').remove();
$('#OrdersSearchResult').children('input:not(:first-child)').remove();
});
更新: 很明显,我希望第一个孩子选择器会寻找已匹配元素的第一个孩子。也就是说,我希望它选择所有不是找到的第一个输入并且与标签类似的所有输入。不幸的是,无论是否应用了其他过滤器,它都匹配 OrdersSearchResult 的子元素的第一个子元素。
【问题讨论】:
-
那么你想删除什么?
-
在所示示例中不应删除任何内容。我希望两个选择器都不会删除任何东西。不幸的是,第一个子选择器会查看整个元素集合,而不是已经匹配的元素集合。
-
它正在正常工作 - 它删除了
label,即not the first child -
@wroniasty 正确。我想找到一个选择器,它关心标签的第一个孩子和输入的第一个孩子。
标签: jquery