如何使用 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.jquery.com/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.jquery.com/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 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告