2 回答

TA貢獻1906條經驗 獲得超10個贊
您可能希望使用 。請注意,由于您正在使用 ,因此您將獲得非節點。要使用或需要檢查節點是否為 .如果使用 代替 ,則所有節點都將是 s,因此無需檢查。classListchildNodesHTMLElementclassNameclassListHTMLElementchildrenchildNodesHTMLElement
for (node of document.body.childNodes) {
if (!(node instanceof HTMLElement)) // You don't need this check if you replace document.body.childNodes with document.body.children in the above line.
continue;
if (node.id === "element") {
console.log(node.classList.contains("class1")); // true
console.log(node.classList.contains("class4")); // false
// Do not use className because it will match any substring of a class
console.log(node.className.includes("class")); // true
}
}
<div id="element" class="class1 class2 class3"></div>
添加回答
舉報