首頁 >web前端 >css教學 >如何可靠地檢查 HTML 元素是否包含 JavaScript 中的特定類別?

如何可靠地檢查 HTML 元素是否包含 JavaScript 中的特定類別?

Susan Sarandon
Susan Sarandon原創
2024-12-22 13:01:41444瀏覽

How to Reliably Check if an HTML Element Contains a Specific Class in JavaScript?

有沒有方法檢查 HTML 元素是否包含 JavaScript 中的特定類別?

問題:

JavaScript 初學者通常依賴 className 屬性的比較來確定元素是否包含特定的 班級。然而,當元素有多個類別且所需的類別不是唯一存在的類別時,這種方法就會失敗。

解決方案:

為了解決這個問題,JavaScript 提供了classList 屬性和 contains 方法。 classList 屬性傳回套用於元素的類別列表,並且 contains 方法會檢查該列表中是否包含特定類別。

const element = document.getElementById("test");
const hasClass1 = element.classList.contains("class1");

無論元素上存在多少類,此方法都能可靠地工作。

替代方法:

如果目標瀏覽器不支援 classList,則可以採用利用 indexOf函數的替代方法:

function hasClass(element, className) {
  return (" " + element.className + " ").indexOf(" " + className + " ") > -1;
}

實作:

要將此方法應用於問題中提供的範例,請取代原始switch 語句使用下列程式碼:

const element = document.getElementById("test");
const classes = ["class1", "class2", "class3", "class4"];

element.textContent = "";

for (let i = 0; i < classes.length; i++) {
  if (element.classList.contains(classes[i])) {
    element.textContent = `I have ${classes[i]}`;
    break;
  }
}

此程式碼迭代預期的類別並顯示出現在元素。

以上是如何可靠地檢查 HTML 元素是否包含 JavaScript 中的特定類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn