为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在IE8下也会正常返回true呢

为什么在IE8下也会正常返回true呢

qq_勿忘初心_H 2020-01-15 15:36:01
<div id="p-node"> <div id="c-node">123</div> </div>function fixContains(a,b){ //a参数是节点,b是a下面的子节点 // 因为要使用parentNode节点遍历的方法(IE8以下不支持parentNode),所以我们使用try..catch来捕获错误 try{ while((b=b.parentNode)){  //将b节点的父节点赋给b if (b===a) { return true; } } // if(a===b.parentNode){ //  return ture; // } return false;//循环体内如果不成立,返回false }catch(e){ return false; //这里因为IE8一下不支持parentNode,所以将这个错误捕获,返回一个false } } var pNode=document.getElementById("p-node"); var cNode=document.getElementById("c-node"); var text=cNode.childNodes[0]; alert(fixContains(pNode,cNode));//true为什么IE8以下不支持parentNode,try..catch捕获这个错误之后不应该返回false吗?怎么在IE8下也会正常返回true呢
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 675 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信