使用jQuery在父元素下查找所有带有指定类名的子元素,包括子元素中的元素。

14

这是一些示例 HTML:

<div class="parent">
    <div class="searchEl"></div>
    <div class="searchEl"></div>
    <div class="child">
        <div class="searchEl"></div>
        <div class="searchEl"></div>
    </div>
</div>

这里是一个jQuery函数:

$(function(){
    $(".parent>.searchEl").each(function(){
        $(this).html("Found this one");
    });
});

DOM元素将会变成这样:

<div class="parent">
    <div class="searchEl">Found this one</div>
    <div class="searchEl">Found this one</div>
    <div class="child">
        <div class="searchEl"></div>
        <div class="searchEl"></div>
    </div>
</div>

如何使用jQuery / Javascript查找所有在元素.parent下具有类.searchEl的元素,即使它们位于另一个子元素中,也无需使用全局搜索$(".searchEl")

3个回答

29
使用空格而不是 >

   $(function() {
     $(".parent .searchEl").each(function() {
       $(this).html("Found this one");
     });
   });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="parent">
  <div class="searchEl"></div>
  <div class="searchEl"></div>
  <div class="child">
    <div class="searchEl"></div>
    <div class="searchEl"></div>
  </div>
</div>


12

从您的选择中删除>

$(".parent .searchEl").
你也可以使用 .find() 方法,
$(".parent").find(".searchEl")

8

> 只会选择直接子元素。去掉 > 以选择所有后代元素。

$(".parent .searchEl")

您可以使用find()函数。
$(".parent").find(".searchEl")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接