胡說叔叔
2019-07-10 10:27:18
檢查元素是否包含JavaScript中的類? 使用普通JavaScript(而不是jQuery),是否有任何方法檢查元素含一堂課?目前,我正在做這樣的事情:var test = document.getElementById("test");var testClass = test.className;switch (testClass) { case "class1": test.innerHTML = "I have class1"; break; case "class2": test.innerHTML = "I have class2"; break; case "class3": test.innerHTML = "I have class3"; break; case "class4": test.innerHTML = "I have class4"; break; default: test.innerHTML = "";}<div id="test" class="class1"></div>問題是如果我把HTML改成這個.。<div id="test" class="class1 class5"></div>.不再是完全匹配的,所以我得到默認(rèn)的零輸出("")。但我還是希望輸出I have class1因?yàn)?lt;div>仍然含這個.class1班級,等級。
3 回答

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個贊
element.classList
.contains
element.classList.contains(class);
交替indexOf
function hasClass(element, className) { return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;}
true
應(yīng)用于該示例:
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; }}

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個贊
test.classList.contains(testClass);

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個贊
var test = document.getElementById("test");var testClasses = test.className.split(" "); test.innerHTML = "";for(var i=0; i<testClasses.length; i++) { switch(testClasses[i]) { case "class1": test.innerHTML += "I have class1<br/>"; break; case "class2": test.innerHTML += "I have class2<br/>"; break; case "class3": test.innerHTML += "I have class3<br/>"; break; case "class4": test.innerHTML += "I have class4<br/>"; break; default: test.innerHTML += "(unknown class:" + testClasses[i] + ")<br/>"; }}
添加回答
舉報(bào)
0/150
提交
取消