javascript - 如果 DIV 的子级有子级,如何选择该 DIV?

标签 javascript jquery

如果页面上的某个子元素有自己的子元素,我会尝试选择页面上的任何 div。

结构如下:

<div id="ID-SOME_LONG_ID">
    <div class="GK">
        <div id="SOME_LONGID_#1434646398866197"></div>
    </div>                                  
</div>

因此,仅当 GK DIV 有任何子项时,我才想选择 id 为 ID-SOME_LONG_ID 的所有 div。可能会也可能不会。

ID- 保持不变,SOME_LONG_ID 每次都会发生变化。

另一个 SOME_LONG_ID 与父级相同,在 # 之后是一个随机的 16 位数字。

使用正则表达式来查找它们是一个好主意,还是使用 jQuery 的 .children() (如 $( ".GK").children())?

谢谢!

最佳答案

使用:has() , :empty :not()

$('#ID-SOME_LONG_ID:has(.GK:not(:empty))')

但是请注意,如果您想要没有文本节点的真实子节点,:empty将会失败。在这种情况下你可以这样做

$('.GK').filter(function() {
  return $(this).children().length > 0;
});

关于javascript - 如果 DIV 的子级有子级,如何选择该 DIV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30927931/

相关文章:

javascript - 如何使用 YouTube v3 API 检索 YouTube 视频的标签?

javascript - Eloquent Javascript 练习 "nth"

javascript - 错误 : Can't set headers after they are sent in express-fileupload

javascript - 如何使用 Bootstrap 单击可点击模态 div 内的模态按钮

javascript - 将 javascript 应用到动态添加的元素

javascript - 使用 Meteorite 开始使用 Faker.js

javascript - 如何在 EaselJS 中获取影片剪辑的当前位置(帧)?

jquery - 输入掩码也应该接受五位数字

javascript - 如何使用 jQuery 生成动态 ID?

javascript - Jquery 拖动会在 mousemove 上触发,但不会在 mousedown 上触发