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”无效。。还有其他想法吗?