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

b=cNode.parentNode获得的是里面的div,而a=pNode是外面的div,他们两个怎么用===判定为true呢?

b=cNode.parentNode获得的是里面的div,而a=pNode是外面的div,他们两个怎么用===判定为true呢?

GYOUNY 2016-07-11 18:54:49
<body> <div id="p-node"> <div id="c-node">子节点内容</div> </div> <script> function fixContains(a, b) {     try {         while ((b = b.parentNode)){             if (b === a){                 return true;             }         }         return false;     } catch (e) {         return false;     } } var pNode = document.getElementById("p-node"); var cNode = document.getElementById("c-node").childNodes[0]; alert(fixContains(pNode, cNode)); //alert(fixContains(document, cNode)); </script> </body>
查看完整描述

1 回答

已采纳
?
柠檬酸钠

TA贡献331条经验 获得超534个赞

注意while语句的条件

每次循环b都会被重新赋值为它的父节点

如果b最终等于a,那么说明b是a的子元素

查看完整回答
1 反对 回复 2016-07-11
  • 1 回答
  • 0 关注
  • 1191 浏览
慕课专栏
更多

添加回答

举报

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