javascript - 循环中的嵌套 Jquery 选择器当前元素

标签 javascript jquery

我有以下问题:我想选择当前元素的所有子代和孙代。

示例 HTML

<html>
<head>
  <title>Sample</title>
</head>
<body>
  <div class="a">
  <div class="b"></div>
  </div>
  <div class="a">
  <div class="b"></div>
  </div>
</body>
</html>

我的 JS 循环遍历每个 div 类 A。 我想在此循环中选择 B,并且仅选择当前 div 类 A 的 B。

$(".a").each(function(){
// SELECT div class B here and only the B of the current A
});

为什么这不起作用?

   $(".a").each(function(){
     $(this).contents().filter('.b').each(function(){
      console.log("Test");
     });
    });

最佳答案

您的实现无效,因为方法 .filter() 匹配同一级别的元素。您需要使用 .find()/.children()因为 .b.a 的后代。

$(".a").each(function() {
    $(this).find('.b').each(function() {
        console.log("Test");
    });
});

或者,你可以直接使用Descendant Selector (“ancestor descendant”)

$(".a .b").each(function() {
    console.log("Test");
});

关于javascript - 循环中的嵌套 Jquery 选择器当前元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39349132/

相关文章:

javascript - 在网格中创建悬停效果时遇到问题

javascript - 从表单输入添加内容到页面 - jquery

javascript - 不允许在 for 循环中缩短一些重复代码?

javascript - JQuery TR 垂直滚动条?

javascript - Node.js 正则表达式 : Find all CSS properties in a stylesheet not in the comments

javascript - jQuery 结构 - 澄清?

javascript - 使用 jquery 的响应式弹出 div

javascript - 带有反应导航的 React Native 中的侧边栏菜单

jQuery 可以检测更改时的选择值,但不能检测页面加载时的选择值?

jquery - 在 gridview 之前加载 GIF 图片