html节点的“文本”子节点是什么?

时间:2018-08-30 17:05:33

标签: javascript html dom dom-node

我尝试搜索但未找到答案:

所以我知道,当页面传递给浏览器或由浏览器下载时,会生成该页面的树结构表示形式,称为DOM。然后可以使用Javascript操纵该树的节点(代表元素的对象)。

现在,如果我打开Chrome的开发者控制台并执行以下命令:

document.childNodes;

我得到了我所期望的,即两个节点,即DOCTYPE和html节点

[<!DOCTYPE html>, html]

如果我现在为html分配一个变量,然后像这样检查它的节点:

var htmlNode = document.childNodes[1];
htmlNode.childNodes;

奇怪的事情发生了

我得到了预期的“头”节点,然后有一个“文本”节点,我不知道它的来源,最后是“主体”节点。

[head, text, body]

我的问题是这个“文本”节点来自哪里?

enter image description here

1 个答案:

答案 0 :(得分:2)

尽管HTML指出html元素通常只能包含headbody,但这些元素的开始和结束标记之间当然都允许元素间空格。< / p>

在HTML DOM中,元素之间的空白总是分布在文本节点中。因此,假设您在headbody元素节点之间看到的文本节点是</head>结束标记和<body>起始标记之间的元素间空格