javascript - 写一个 jQuery 选择器来过滤没有子类的子 div

标签 javascript jquery html css

考虑以下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 具有值 value2value5value6value7value9(如这些 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/

相关文章:

javascript - 基于http get的Angularjs过滤器

带有转义斜杠的 JavaScript 正则表达式不会替换

javascript - 访问 javascript 数组会产生意想不到的结果

javascript - 单击更改 <tr> 的背景颜色

jquery - 多分页(ajax)不适用于 django-el-pagination

css - Bootstrap 4 "hidden"类不能始终如一地工作

javascript - slickgrid 条件格式和选择着色优先级

jquery - 附加代码以在播放歌曲时切换图像

javascript - 水车 slider 字幕问题

javascript - 强制页面预加载器出现在任何内容之前