document文档节点到底指的是什么?

来源:3-5 选择练习

不会飞的萌物

2019-03-06 19:51:28

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>遍历节点</title>
</head>
<body>
<div id="wrap">
<ul class="list">
<li>第一个li</li>
<li>第二个li</li>
<li>第三个li</li>
</ul>
</div>

<script type="text/javascript">
var wrap = document.getElementById("wrap");
var list = wrap.childNodes[1];
var li = list.childNodes[1];
console.log(document.documentElement);   //返回html节点
console.log(li.parentNode.parentNode.parentNode.parentNode);   //返回html节点
console.log(li.parentNode.parentNode.parentNode.parentNode.parentNode);  //返回#document,即整个文档
console.log(li.ownerDocument);
//返回#document,即整个文档
</script>
</body>
</html>

四个console.log,在谷歌浏览器控制台中返回的节点一个是html,一个是#document。这两者区别是是什么?

写回答

1回答

天空之城_rtzCKL

2019-03-07

<body>
<div id="wrap">
<ul class="list">
<li>第一个li</li>
<li>第二个li</li>
<li>第三个li</li>
</ul>
</div>
 
<script type="text/javascript">
var wrap = document.getElementById("wrap");
var list = wrap.childNodes[1];
var li = list.childNodes[1];
console.log(document.documentElement);   //返回html节点
console.log(li.parentNode.parentNode.parentNode.parentNode);   //返回html节点
console.log(li.parentNode.parentNode.parentNode.parentNode.parentNode);  //返回#document,即整个文档
console.log(li.ownerDocument);
console.log(li.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode); //返回null
//返回#document,即整个文档
</script>

document是所有dom元素的最终父节点,也就是根节点。document的parentNode为null

0

0 学习 · 4826 问题

查看课程