什么是html节点的“text”子节点?

问题描述 投票:4回答:1

我试图搜索但没有找到答案:

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

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

document.childNodes;

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

[<!DOCTYPE html>, html]

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

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

奇怪的事情发生了:

我按预期得到“head”节点,然后有一个“text”节点,我不知道它来自哪里,最后是“body”节点,如预期的那样。

[head, text, body]

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

enter image description here

javascript html dom dom-node
1个回答
2
投票

虽然HTML表示html元素通常只能包含headbody,但当然允许在这些元素的开始和结束标记之间使用元素间空格。

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

© www.soinside.com 2019 - 2024. All rights reserved.