javascript - 基于内部没有类的 jQuery 选择器

标签 javascript jquery jquery-selectors

我需要根据不在其元素内部的内容来选择一个元素。

<div class="person">
  <div class="name">Jason</div>
</div>

<div class="person">
</div>

我需要做什么来选择带有 person 类的第二个 div。我知道有 hasnot 属性,我是否需要以某种方式组合它们才能使其正常工作?

最佳答案

您可以用作选择器:

$(".person:not(:has(.name))")

但我建议您改为过滤它:

Because :has() is a jQuery extension and not part of the CSS specification, queries using :has() cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method.

$(".person").filter(function(){
    return !$(this).find(".name").length;
})

-jsFiddle-

关于javascript - 基于内部没有类的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28885646/

相关文章:

javascript - 如何将 JQuery 与 Flask 连接?

javascript - 在 JavaScript 中捕获选择(下拉列表)上的按键输入

javascript - 如果 js 确认返回 false,则重置回选择字段上的上一个选项

jquery - 如何选择终止从类 'X' 的节点 A 开始的路径的所有节点 S 的集合,其中只有根节点和终端节点属于类 'X' ?

jquery - 在 jQuery 选择器上使用正则表达式查找基于 ids 的所有元素

javascript - 使用jQuery根据背景颜色查找div

javascript - 如何在 safari 中找到 Shadow DOM 中的元素? ( polymer )

javascript - 当 div 文本等于 10 时调用警报函数

javascript - 如何在谷歌地图信息窗口中放置 html div

javascript - 从模态调用 AngularJS Promise 会导致错误