您的位置:首页 > 其它

判断一个节点是否是另一个元素的子节点

2017-10-24 15:58 706 查看

判断一个元素是否包含一个指定节点

这个函数时在contains()的基础上封装的,contains()不兼容火狐,特意封装了一下,以后方便用。
function isDOMContains(parentEle,ele,container){
//parentEle: 要判断节点的父级节点
//ele:要判断的子节点
//container : 二者的父级节点

//如果parentEle h和ele传的值一样,那么两个节点相同
if(parentEle == ele){
return true
}
if(!ele || !ele.nodeType || ele.nodeType != 1){
return false;
}
//如果浏览器支持contains
if(parentEle.contains){
return parentEle.contains(ele)
}
//火狐支持
if(parentEle.compareDocumentPosition){
return !!(parentEle.compareDocumentPosition(ele)&16);
}

//获取ele的父节点
var parEle = ele.parentNode;
while(parEle && parEle != container){
if(parEle == parentEle){
return true;
}
parEle = parEle.parentNode;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐