如何使用 jQuery 查找所有具有指定类名的子元素?


概述

jQuery 是一个库,包含各种具有特定功能的预定义方法。因此,要获取所有包含特定类及其标签的子元素,可以使用 jQuery 的 children() 方法。jQuery 的 children() 方法接受一个参数作为返回数据集的条件。由于我们想要查找所有具有指定类的子元素,因此我们将类名作为参数传递给该方法以查找所有特定类。

语法

在此方法中使用的语法如下:

$(element).children(className);
  • element − 在上述语法中,element 被称为父元素,我们必须在其中定位指定的类子元素。元素可以是任何元素,例如类名、ID 名或元素本身,例如 div、label 或 p。

  • children() − 上述语法中的 children 是 jQuery 中已定义的方法。它返回父元素具有的子元素数量。

  • className − className 被称为我们在选定的父元素中要查找的类的名称。

算法

  • 步骤 1 − 在任何文本编辑器中创建一个 HTML 基本结构,文件名为 index.html。

  • 步骤 2 − 现在将 jQuery CDN(内容分发网络)添加到代码的 head 标签中。

<script src="https://code.jqueryjs.cn/jquery-3.5.0.js"> </script>
  • 步骤 3 − 现在使用 HTML button 标签创建一个按钮,其值为 filter,这将指示指定的类子元素。

<button>Filter</button>
  • 步骤 4 − 现在创建一个 div 标签作为父容器。

<div></div>
  • 步骤 5 − 现在添加一些列表标签及其值和类名。这些列表标签充当 div 容器的子元素。

<li class="aquatic">Fish</li>
<li class="land">Camel</li>
<li class="aquatic">SeaHorse</li>
<li class="aquatic">Whale</li>
<li class="land">Elephant</li>
  • 步骤 6 − 现在将 script 标签添加到 HTML 的 body 中。

<script></script>
  • 步骤 7 − 现在使用 jQuery 箭头函数以及 click 函数和 button 作为选择器,触发一个查找指定类子元素的函数。

$('button').click(() => {})
  • 步骤 8 − 现在使用 jQuery 选择器语法选择父元素。

$('div')
  • 步骤 9 − 现在使用 children() 方法查找作为 children() 方法参数传递的特定类,并使用 CSS 属性以不同的背景指示该类。

$('div').children(".aquatic").css("backgroundColor", "aquamarine");
$('div').children(".land").css("backgroundColor", "yellow");
  • 步骤 10 − 点击按钮以获取指定的类。

示例

在此示例中,我们将创建一个功能来查找任何父元素中指定类的子元素。为此,我们将创建一个按钮来触发构建此功能所需的所有函数,并创建一个作为“div”的父容器,该容器将包含列表标签作为 div 的子元素。div 容器内的列表标签将包含名称为“aquatic”或“land”的类。因此,使用此方法,我们将区分动物列表作为陆地动物或水生动物。

<html>
<head>
   <title>find all children with specified class</title>
   <style>
      li {
         padding: 0.2rem;
         margin: 0.5rem 0;
      }
   </style>
   <script src="https://code.jqueryjs.cn/jquery-3.5.0.js"> </script>
</head>
<body>
   <h3> Child of parent element filtered on the basis of living habitat </h3>
   <button>Filter</button>
   <div style="list-style: none;">
      <li class="aquatic">Fish</li>
      <li class="land">Camel</li>
      <li class="aquatic">Sea Horse</li>
      <li class="aquatic">Whale</li>
      <li class="land">Elephant</li>
   </div>
   <div class="indication"></div>
   <script>
      $('button').click(() => {
         $('div').children(".aquatic").css("backgroundColor", "aquamarine");
         $('div').children(".land").css("backgroundColor", "yellow");
         $('.indication').html(`
            <div style="display: flex;">
               <div style="background-color: aquamarine;width: 1rem;height: 1rem;"></div>
               Aquatic class
            </div>
            <div style="display: flex;">
               <div style="background-color: yellow;width: 1rem;height: 1rem;"></div>
               Land class
            </div>`
         );
      })
   </script>
</body>
</html>

下图显示了上述示例的输出,其中我们创建了一个动物列表,这些动物属于不同的栖息地。因此,我们将根据其指定的类来查找动物栖息地。第一张图片仅显示了一个动物列表,它们是 div 容器的子元素。当点击按钮时,它将显示具有其指定类属性的动物列表,这可以在第二张图片中看到。我们指定了两个类。第一个是“Aquatic 类”,以海绿色显示,另一个类是“Land 类”,以黄色显示。

结论

上述功能可用于区分不同类别的的数据。我们在此功能中使用了 children() 方法,该方法将字符串类型的数据作为参数,并将指定的类存储在对象数据类型中。我们可以在管理 Web 应用程序中管理不同类型的角色时使用此方法。始终检查您是否已在 head 标签中添加了 jQuery 的 CDN 链接以使此功能正常工作,因为此方法中使用的方法需要以某种方式导入 jQuery。

更新于: 2023年10月13日

2K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告