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

<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>


GYOUNY
浏览 1192回答 1
1回答

柠檬酸钠

注意while语句的条件每次循环b都会被重新赋值为它的父节点如果b最终等于a,那么说明b是a的子元素
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript