Javascript 而节点和父节点未到达终点的循环
我尝试执行一个简单的循环,检查节点/Javascript 而节点和父节点未到达终点的循环,javascript,nodes,parent-node,Javascript,Nodes,Parent Node,我尝试执行一个简单的循环,检查节点/parentNode类名是否与数组中的字符串匹配。代码如下: function isInside(list,node) { while( node !== undefined ) { for( var i = 0; i < list.length; i++ ) if( node.className.indexOf(list[i]) > -1 ) return true;
parentNode
类名是否与数组中的字符串匹配。代码如下:
function isInside(list,node) {
while( node !== undefined ) {
for( var i = 0; i < list.length; i++ )
if( node.className.indexOf(list[i]) > -1 )
return true;
node = node.parentNode;
}
alert(1); // The code does not reach this when false
return false;
}
函数isInside(列表、节点){
while(节点!==未定义){
对于(变量i=0;i-1)
返回true;
node=node.parentNode;
}
警报(1);//如果为false,则代码不会达到此值
返回false;
}
有什么问题吗?遵循以下模式:
var current = node;
while (current.parentNode){
// do stuff with node
current = current.parentNode
}
更改
节点!==未定义的
到节点!==空
,因为没有.parentNode
将导致空
。您也可以使用!=null
,它将测试未定义的和null
,但这不是必需的。更改'node!==未定义的“到”节点!=“null”无效。。还有其他想法吗?