JavaScript 如何检查给定元素是否具有指定的类

JavaScript 如何检查给定元素是否具有指定的类

要执行某个特定任务,首先我们需要通过其类名或ID访问特定的元素,因此在访问元素之前,我们检查该类是否存在于该特定元素中。classList对象在JavaScript中包含了内置的classList.contains()方法。该方法确定给定的元素是否属于指定的类。整个过程将按照以下步骤进行:首先我们必须通过getElementById()、getElementsByClassName()或其他任何方法访问该元素。访问后,我们要使用classList.contains()方法检查类。

语法

在这个问题中使用的语法是-

classList.contains(className);
  • classList - 这是JavaScript中的一个对象,用于接收指定元素中包含的类的数组。

  • contains - 这是classList对象的一个方法,用于检查给定元素中是否存在指定的类。

  • className - 这是要在给定元素中搜索的指定名称。

步骤

  • 步骤1 - 在body标签内创建一些HTML元素,并用某些类指定每个元素。

  • 步骤2 - 在HTML按钮中指定onclick()事件方法。

  • 步骤3 - 创建一个JavaScript箭头函数。访问任何HTML并将其存储在变量中。

  • 步骤4 - 使用classList对象的contains()方法。将变量作为参数传递给contains()方法。

  • 步骤5 - 如果它返回true,则HTML元素中存在特定的类;否则,如果返回false,则HTML元素中不存在特定的类。

示例1:当元素包含指定的类时

我们在body标签内取了一个“

”标签,并且其中包含类名:class=”my-para first lorems”,所以这些是类名。我们的任务是检查元素是否包含指定的类。为此,我们使用了classList对象的contains()方法。因此,我们要检查的类作为参数传递给“contains()”方法,该方法用于检查类的准确性。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check for specified class in a given element</title>
   <style>
      body{
         background-color: #0a0a0a;
         color: white;
      }
   </style>
</head>
   <body>
      <p id="para" class="my-para first lorems">I am para with certain classes, check now.</p>
      <button onclick="check()" style="margin-bottom: 8px;">Check Now</button><br>
      <div id="output" style="display: inline-block; padding: 0.3rem;"></div>

      <script>
         check = () => {
            var ptag = document.getElementById("para");
            var cl = ptag.classList;
            var clContain = cl.contains("my-para");

            if (clContain) {
               document.getElementById("output").innerHTML += "Element contains specified  class";
               document.getElementById("output").style.background = "green";
               document.getElementById("output").style.color = "white";
            } else {
               document.getElementById("output").innerHTML += "Element does not contains the specified class";
               document.getElementById("output").style.background = "tomato";
               document.getElementById("output").style.color = "white";
            }
         }

      </script>
   </body>
</html>

上面示例的输出是true,因为输出是”元素包含指定的类”。

示例2:当元素不包含指定的类时

下面的图像显示了”元素不包含指定的类”,这意味着当classList.contains()被检查时,它必须返回false。因此,false条件已经终止。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Check for pecified class in a given element</title>
   <style>
      body{
         background-color: #0a0a0a;
         color: white;
      }
   </style>
</head>
   <body>
      <p id="para" class="my-para first lorems">I am para with certain classes, check now.</p>
      <button onclick="check()" style="margin-bottom: 8px;">Check Now</button><br>
      <div id="output" style="display: inline-block; padding: 0.3rem;"></div>

      <script>
         check = () => {
            var ptag = document.getElementById("para");
            var cl = ptag.classList;
            var clContain = cl.contains("mypara");

            if (clContain) {
               document.getElementById("output").innerHTML += "Element contains specified  class";
               document.getElementById("output").style.background = "green";
               document.getElementById("output").style.color = "white";
            } else {
               document.getElementById("output").innerHTML += "Element does not contains the specified class";
               document.getElementById("output").style.background = "tomato";
               document.getElementById("output").style.color = "white";
            }
         }
      </script>
   </body>
</html>

结论

classList的返回类型是DOMTokenList,它是一种数组类型。它包含了该特定元素中存在的类列表。可以通过使用任何for循环或map来遍历DOMTokenList。

var ptag = document.getElementById("para").classList;
ptag.forEach(element => {
   console.log(element);
});

“contains()” 方法返回布尔类型的结果,true 或者 false。classList 对象包含类数组。因此,当 contains() 方法检查指定的类时,它会在 DOMTokenList 中进行检查,并根据检查结果返回 true 或者 false。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程