確定 JavaScript 中元素類別的存在
檢查元素的類別屬性時,通常需要驗證它是否包含特定類別。提供的程式碼利用 switch 語句來檢查元素的確切類別值,但此方法無法偵測部分匹配。
要解決此限制,請考慮使用 element.classList .contains 方法。此方法接受類別名稱作為參數,並傳回布林值,指示其在元素的類別清單中的存在:
element.classList.contains(class);
現代瀏覽器普遍支援此方法,並提供一致的方法來檢查類別包含。
或者,為了與缺少.contains 方法的舊版瀏覽器相容,您可以使用以下indexOf 的修改版本方法:
function hasClass(element, className) { return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; }
此修改可確保您準確檢測部分匹配,避免當您尋找的類別是較大類別名稱的一部分時出現誤報。
將此方法應用於提供的範例:
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; } }
透過使用.contains方法或修改後的indexOf函數,你可以可靠地判斷一個元素是否包含JavaScript中的特定類,無論瀏覽器相容性或是否有部分匹配。
以上是如何可靠地檢查 JavaScript 中特定類別是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!