首頁 >web前端 >css教學 >如何有效率地檢查 JavaScript DOM 元素是否包含特定類別?

如何有效率地檢查 JavaScript DOM 元素是否包含特定類別?

Susan Sarandon
Susan Sarandon原創
2025-01-01 12:53:14977瀏覽

How Can I Efficiently Check if a JavaScript DOM Element Contains a Specific Class?

在JavaScript 中檢查元素是否包含類別

在JavaScript 中,你可能會遇到需要判斷一個DOM 元素是否包含的場景一個特定的類別。雖然您目前使用 element.className 和 switch 語句的方法可以工作,但當元素具有多個類別時,它會受到限制。

使用element.classList.contains()

為了更好的跨瀏覽器相容性,您可以使用element.classList.contains() method:

element.classList.contains(className);

此方法傳回一個布林值,指示元素是否具有指定的類別。所有主要瀏覽器都支援它。

indexOf 的替代方法

如果您正在使用不支援element.classList 的舊版瀏覽器,您可以修改您現有的indexOf方法如下:

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

這確保檢查僅在您正在尋找的類別是時才傳回true不包含在另一個類別名稱中。

範例實作

將更新的技術應用於您的範例:

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

test.innerHTML = "";

for(var i = 0, j = classes.length; i < j; i++) {
    if(hasClass(test, classes[i])) {
        test.innerHTML = "I have " + classes[i];
        break;
    }
}

此方法處理以下情況測試元素有多個類別,確保即使存在其順序或其他類,也能偵測到正確的類別。

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

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