如何使用 jQuery/JavaScript 檢查兩個元素是否相同?


我們可以使用原生 JavaScript 或 jQuery(JavaScript 的一個特色庫)中的各種方法訪問 HTML 元素。

有時,在訪問 DOM 元素後,開發人員可能需要檢查兩個訪問的元素是否相同。在本教程中,我們將學習如何使用 JavaScript 的嚴格相等運算子和 jQuery 的一種方法來檢查兩個 HTML 元素的相等性。

使用 JavaScript 中的相等運算子 (==)

我們可以透過getElementById、querySelector、getElementByClassName等方法訪問 HTML 元素。之後,我們可以將其儲存在 JavaScript 變數中,並可以使用相等運算子比較這些變數以檢查兩個元素的相等性,就像我們用來比較兩個數字或字串值一樣。

語法

使用者可以按照以下語法比較兩個 HTML 元素。

if (element1 == element2) {
   // elements are the same
} else {
   // elements are not the same
}

在上述語法中,element1element2 是使用 JavaScript 從 DOM 訪問的 HTML 元素。

示例

在這個例子中,我們建立了<h3> HTML 元素,並添加了值為“test”的 id 屬性。之後,我們使用 document.getElementById() 方法透過 id 訪問該 <h3> 元素。element1 和 element2 變數包含相同的元素。

之後,我們使用相等運算子來比較它們,使用者可以看到輸出結果。

<html>
<body>
   <h3>Using the <i>Equality operator</i> to check if two HTML elements are the same or not.</h3>
   <h4 id = "test"> This is a sample element!</h4>
   <p id = "output"></p>
   <script>
      let output = document.getElementById("output");
      let element1 = document.getElementById("test");
      let element2 = document.getElementById("test");

      if (element1 == element2) {
         output.innerHTML += "The element1 and element2 both are same.";
      } else {
         output.innerHTML += "The element1 and element2 both are not same!";
      }
   </script>
</body>
</html>

示例

在這個例子中,我們使用<h3>標籤建立了元素。接下來,我們使用 document.getElementByTagName() 方法按標籤名稱訪問 HTML 元素。它返回所有帶有<h3>標籤的 HTML 元素的陣列。

之後,我們比較了 elements 陣列中第 0 個和第 1 個索引的值,使用者可以在輸出中看到它們是不同的。

<html>
<body>
   <h3>Using the <i>Equality operator</i> to check if two HTML elements are the same or not.</h3>
   <h4>This is a element1!</h4>
   <h4>This is a element2!</h4>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let elements = document.getElementsByTagName("h3");
      if (elements[0] == elements[1]) {
         output.innerHTML += "The element1 and element2 both are same.";
      } else {
         output.innerHTML += "The element1 and element2 both are not same!";
      }
   </script>
</body>
</html>

使用 jQuery 的 is() 方法

jQuery 包含各種操作 DOM 元素的方法。is() 方法將一個元素作為引數,另一個作為參考,並比較這兩個元素。

此外,使用者需要在使用 is() 方法之前使用“$”符號在 jQuery 中訪問元素。

語法

使用者可以按照以下語法使用 is() 方法來檢查兩個 HTML 元素是否相等。

let isEqual = $("#btn1").is($("#btn2"));

在上述語法中,我們透過它們的 id 訪問了“btn1”和“btn2”元素。

示例

在這個例子中,我們添加了 jQuery CDN 以將 jQuery 與我們的 HTML 程式碼一起使用。我們還建立了兩個具有不同 ID 的按鈕。

在 JavaScript 中,我們使用了 is() 方法,將 id 為“btn2”的元素作為引數傳遞,並將 id 為“btn1”的元素作為參考。is() 方法比較這兩個元素並返回布林值,我們已將其儲存在 isEqual 變數中。

<html>
<head>
   <script
      src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"
      integrity = "sha512-STof4xm1wgkfm7heWqFJVn58Hm3EtS31XFaagaa8VMReCXAkQnJZ+jEy8PCC/iT18dFy95WcExNHFTqLyp72eQ=="
      crossorigin = "anonymous" referrerpolicy = "no-referrer">
   </script>
</head>
<body>
   <h3> Using the <i>is() method of JQuery</i> to check if two HTML elements are same or not.</h3>
   <button id = "btn1">Button 1 </button>
   <button id = "btn2"> Button 2 </button>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let isEqual = $("#btn1").is($("#btn2"));
      if (isEqual) {
         output.innerHTML += "The element1 and element2 both are same.";
      } else {
         output.innerHTML += "The element1 and element2 both are not same!";
      }
   </script>
</body>
</html>

我們學習了比較兩個 HTML 元素的各種方法。使用者可以使用純 JavaScript 或 jQuery 的 is() 方法。此外,使用者可以使用不同的方法訪問 HTML 元素並進行比較。

更新於:2023年1月19日

2K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告