考虑以下HTML
<div class="container">
<div class="item medium type"> value1 </div>
<div class="item"> value2 </div>
<div class="item large"> value3 </div>
<div class="item small"> value4 </div>
<div class="item"> value5 </div>
<div class="item"> value6 </div>
<div class="item"> value7 </div>
<div class="item medium"> value8 </div>
<div class="item"> value9 </div>
</div>
是否有一种直接的方法来编写一个 jQuery 选择器来获取 container
div
的所有子项,而该 div
不具有任何子类?
例如,我需要编写一个选择器 ($('myselector').each()
) 并只获取元素div
具有值 value2
、value5
、value6
、value7
、value9
(如这些 div
没有任何子类)。
可能是我遗漏了显而易见的东西。但我快速搜索了一下,几乎没有得到这方面的信息。
最佳答案
你可以使用这个选择器:
$('.container [class=item]')
它让每个 child 的类属性完全等于 item
(因此没有其他类)。
但它并不是真正可扩展的,如果你需要添加另一个不排除元素的类怎么办?
也许您应该考虑向其他元素添加一个类,例如:
<div class="container">
<div class="item sub medium type"> value1 </div>
<div class="item"> value2 </div>
<div class="item sub large"> value3 </div>
<div class="item sub small"> value4 </div>
<div class="item"> value5 </div>
<div class="item"> value6 </div>
<div class="item"> value7 </div>
<div class="item sub medium"> value8 </div>
<div class="item"> value9 </div>
</div>
然后在您的选择器中使用 :not
:
$('.container .item:not(.sub)')
关于javascript - 写一个 jQuery 选择器来过滤没有子类的子 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15240516/