Javascript 如何查找具有类的元素而不是具有此类的元素的子元素
这听起来可能很棘手。您将更容易理解以下数据:Javascript 如何查找具有类的元素而不是具有此类的元素的子元素,javascript,jquery,dom,Javascript,Jquery,Dom,这听起来可能很棘手。您将更容易理解以下数据: <div> <h1> <div class='nested ok selected'></div> </h1> <div class='ok selected'> <div class='ko selected'></div> </div> <div class='ok
<div>
<h1>
<div class='nested ok selected'></div>
</h1>
<div class='ok selected'>
<div class='ko selected'></div>
</div>
<div class='ok selected'></div>
</div>
我想选择所有selected
类,而不是selected
元素的子类,无论其深度如何。结果应与ok
元素匹配。我之所以挣扎,主要是因为嵌套了元素,否则它会非常简单
有线索吗
谢谢
编辑:我无法更改HTML和ok
,嵌套的和ko
选择器只是为了澄清我的问题。一种方法是抓取所有选定元素,而不是过滤掉另一个选定元素下的元素
$('.selected').filter(function(){
return $(this).parents('.selected').size() == 0
});
一种方法是抓取所有选定图元,然后过滤掉位于另一个选定图元下的图元
$('.selected').filter(function(){
return $(this).parents('.selected').size() == 0
});
您可以这样做:
$(".selected:not(:parent(.selected))")
演示返回的元素数:您可以这样做:
$(".selected:not(:parent(.selected))")
显示返回元素数的演示:
y不重写html以更好地满足您的需要ISko selected
it打字?y不重写html以更好地满足您的需要ISko selected
it打字?不知道:父选择器+1@Darhazer我最近才发现这件事。它真的很方便。我不知道:父选择器+1@Darhazer我最近才发现这件事。它真的很方便。