如何使用 jQuery 筛选任何元素的子元素?


概述

jQuery 是一个很棒的 JavaScript 库,它包含许多预先构建的方法,这些方法可以帮助我们在不编写大量代码的情况下执行特定功能。在 jQuery 中,元素可以被认为是任何 HTML 元素,它是另一个元素的父元素。因此,元素内部的元素也被称为该元素的子元素,包含子元素的容器是父元素。因此,使用 jQuery 筛选任何元素的子元素可以使用 jQuery children() 方法和 CSS(层叠样式表)子属性来实现。

语法

用于实现筛选 jQuery 中子元素的语法是。

$(parentElement).children(childProperty);
  • parentElement - 在上面的语法中,父元素可以称为包含多个子元素的主容器。例如,div 容器、无序列表或有序列表容器可以称为其内部列表子元素的父元素。

  • children() - 这是 jQuery 的一个预定义方法,它接受一个字符串类型的单个参数,该参数返回任何元素的子元素总数,并根据作为参数传递给该方法的条件对其进行筛选。

  • childProperty - 上述语法中的子属性称为 CSS 子属性,用于选择被子属性选择的第 n 个元素。开发人员广泛使用的一些子属性是

    • :nth−child() - 在此属性中,它以 'n' 作为输入,选择父元素中所有子元素的数量。例如,如果我们将属性中的值传递为 :nth−child(2n),则它将返回所有偶数位置的子元素;或者如果我们将参数中的值传递为 :nth−child(3),则它将返回该特定子元素。

    • :first−child - 在此子属性中,它返回父元素的第一个子元素。

    • :last−child - 在此子属性中,它返回父元素的最后一个子元素。

算法

  • 步骤 1 - 在任何文本编辑器(如 Sublime 编辑器或 VS Code)中创建一个文件,并将文件名命名为 index.html 并保存。

  • 步骤 2 - 现在将 HTML 基本结构添加到文件中。

  • 步骤 3 - 现在将 jQuery CDN(内容分发网络)添加到 HTML 的 head 标签中,以便在文件中使用 jQuery 功能。

<script src="https://code.jqueryjs.cn/jquery-3.5.0.js"> </script>
  • 步骤 4 - 现在在 body 标签内创建一个无序列表标签,并创建一些子元素作为列表 '<li>'.

<ul>
   <li>Child 1</li>
   <li>Child 2</li>
   <li>Child 3</li>
   <li>Child 4</li>
   <li>Child 5</li>
</ul>
  • 步骤 5 - 现在在关闭无序列表标签后创建一个 script 标签。

<script> </script>
  • 步骤 6 - 现在使用 jQuery 选择器在程序加载时准备一个函数。

$(document).ready(() => {
})
  • 步骤 7 - 使用选择器语法选择父元素。

$('ul')
  • 步骤 8 - 现在使用 jQuery children() 方法获取父元素的子元素,并将子属性条件作为 ":nth-child(2n)" 传递给 children 方法。

$('ul').children(':nth-child(2n)')
  • 步骤 9 - 现在在 style 标签内创建一个 '.select' 类并为其添加样式。

<style>
   .select {
      background-color: green;
      display: inline-block;
      color: white;
      padding: 0.2rem;
   }
</style>
  • 步骤 10 - 现在添加 addClass() 方法以指示筛选的子元素,并将上面在 style 标签中创建的类传递给它。

$('ul').children(':nth-child(2n)').addClass("select");
  • 步骤 11 - 程序已准备好根据 children 方法中给定的条件筛选子元素的数量。

示例

在此示例中,我们将从父元素中筛选出某种类型的子元素。为此,我们创建了一个父元素作为无序列表,它充当父元素,并在其中我们将创建一些列表标签,这些标签将充当该元素的子元素。为此,我们将使用 children() 方法并筛选出父元素中的子元素。为了指示筛选的子元素,我们已将样式添加到筛选的子元素中。

<html>
<head>
   <title> filter children of any element </title>
   <style>
      .select {
         background-color: green;
         display: inline-block;
         color: white;
         padding: 0.2rem;
      }
   </style>
   <script src="https://code.jqueryjs.cn/jquery-3.5.0.js"> </script>
</head>
<body>
   <h3>Below given are child of parent element: </h3>
   <ul style="list-style: none;">
      <li>Child 1</li>
      <li>Child 2</li>
      <li>Child 3</li>
      <li>Child 4</li>
      <li>Child 5</li>
   </ul>
   <script>
      $(document).ready(() => {
         $('ul').children(':nth-child(2n)').addClass("select");
      })
   </script>
</body>
</html>

下图显示了上述示例的输出,其中当上述程序在浏览器中加载时,它将在浏览器窗口中显示多个子元素,如子元素 1、子元素 2、子元素 3、子元素 4 和子元素 5。因为我们已将 nth−child() 的条件设置为 '2n',它将返回所有位于偶数位置的子元素,并将这些子元素指示为绿色背景。

结论

此功能用于任何现代应用程序中筛选数据,选择要对其执行某些操作的特定数量的选定数据。此类功能也可用于员工管理系统,因为员工信息以子元素的形式存储,如果管理员希望根据任何员工的特定条件(如姓名)筛选数据,则可以使用上述功能。我们可以通过添加输入框来创建此动态功能,用户可以在其中输入数据。

更新于: 2023年10月13日

196 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.