js遍历点击的元素子节点 我有错误: 未捕获的TypeError:无法读取属性'包含'未定义的
我需要比较其中一个是否具有类任务值 我不明白为什么我有错误! 需要帮助对不起英语不好 链接到js小提琴代码
function docClick(e) {
var target = e.target;
console.log(this.childNodes.length)
for(var i = 0; i < this.childNodes.length; i++){
console.log(this.childNodes[i])
if(this.childNodes[i].classList.contains("task-value")){
console.log("if")
}else{
console.log("else")
}
}
答案 0 :(得分:2)
这是可能的,因为this.childNodes
不仅包含HTML元素,还包含text
个节点。文本节点不能有类,所以它们永远不会有属性classList
您需要使用属性children
来准确获取html elements
function docClick(e) {
var target = e.target;
console.log(this.children.length)
for(var i = 0; i < this.children.length; i++){
console.log(this.children[i])
if(this.children[i].classList.contains("task-value")){
console.log("if")
}else{
console.log("else")
}
}