如何使用 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+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告