如何在 jQuery 中檢查元素是否存在?


概述

我們可以使用 jQuery 檢查 HTML 元素(例如 <p>、<h> 等)在 HTML 頁面中是否存在。要實現該解決方案,我們使用了 jQuery 的“length”屬性,它檢查 HTML 文件中的特定元素並返回該特定元素的長度,即該元素在 HTML 主體中出現的次數。length 屬性存在於 jQuery ($) 主庫中。

語法

本程式中使用的語法為:

$(elementName).length;
  • elementName − elementName 可以是任何標籤、類名、id 名,用於構建網頁結構。例如 <p>、<label>、<input>、<h1>、<h2>、<h3>、<span> 等。

  • length − length 是 jQuery 物件的一個屬性,用於檢查元素在 HTML 中的出現次數。

演算法

  • 步驟 1  在 HTML 主體中建立一些元素,例如 p、span、label 等,並在 HTML 的 head 標籤中新增 CDN 連結。

  • 步驟 2  使用 jQuery 語法,選擇按鈕作為選擇器並執行 click() 事件方法。

  • 步驟 3  使用 $(selectors) 從 HTML 中選擇一些元素,並使用 length 方法檢查這些元素的長度。將這些元素的長度儲存在單獨的變數中。

  • 步驟 4  在螢幕上顯示輸出。如果 length 方法返回的值大於零,則該元素存在;否則,如果它返回的值等於零,則該元素不存在。

示例

在本例中,我們必須搜尋某些元素,例如 <p>、類“para”、<label>、<span>。當我們點選“檢查元素”按鈕時,它會觸發 jQuery 函式,該函式包含 $(element).length 屬性。特定元素的返回值儲存在其特定的變數中。之後,呼叫 text() 屬性以在網頁上插入文字。此示例的結果可以在下面的影像中看到。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Element exist or not using jQuery</title>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
   <style>
      body {
         color: white;
         background-color: #0a0a0a;
         display: flex;
         place-content: center;
         min-height: 90vh;
         flex-direction: column;
         text-align: center;
      }
      p {
         width: 50%;
         margin: 8px auto;
         padding: 0.4rem;
      }
      button {
         border: none;
         width: 8rem;
         padding: 0.4rem;
         background-color: #0a0a0a;
         box-shadow: 0px 0px 5px rgba(255, 255, 255, 0.788);
         border-radius: 5px;
         margin: 8px auto;
         color: white;
      }
   </style>
</head>
   <body>
      <p></p>
      <p></p>
      <p></p>
      <span></span><span></span>
      
      <h1>Check the element by clicking button</h1>
      
      <!-- This <button> tag will trigger the jQuery arrow function -->
      <button>Check Element</button>
      
   <!-- Output of the length will shown here -->
      <p id="output" style="text-align:start;background-color: green; width: 8rem;">
         1)	p: <span id="pl"></span><br />
         2)	para(class): <span id="pal"></span><br />
         3) label: <span id="ll"></span><br />
         4) span: <span id="sl"></span><br />
      </p>
      
      <script>
         // The jQuery function start from here
         $("button").click(() => {
            var pel = $("p").length;
            var pael = $(document.getElementsByClassName("para")).length;
            var lel = $("label").length;
            var sel = $("span").length;
         
            $(document.getElementById("pl")).text(pel);
            $(document.getElementById("ll")).text(lel);
            $(document.getElementById("sl")).text(sel);
         })
      </script>
   </body>
</html>

輸出顯示 HTML 中存在的元素。在下面的輸出中,以上程式碼包含 4 個 <p> 標籤、2 個帶有“para”類名的 <p class="para"> 標籤,並且在 jQuery 函式中,它還檢查了 <label> 標籤,但 HTML 程式碼不包含任何型別的該標籤,因此它返回了 0,並且它包含 6 個 <span> 標籤。

結論

length 屬性的返回型別為“Number”。當元素存在於 HTML 結構中時,它會返回一個大於“0”的數字。如果元素不存在於 HTML 元素中,則它會返回 0 或 null。length 屬性按層次順序查詢元素,並返回 HTML 中存在的特定標籤的總數。jQuery 中的 length 屬性與 JavaScript 中的不同,因為在 JavaScript 中,length 方法返回陣列的大小,而在 jQuery 中,它返回 HTML 中存在的元素的數量。jQuery 選擇器選擇 HTML 元素並允許進一步操作。各種 jQuery 選擇器有“*”,它選擇 HTML 中的所有元素,“#id”選擇具有特定 id 名稱的元素,“.className”用於選擇該特定元素。

更新於: 2023 年 2 月 27 日

3K+ 閱讀量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告