什么是文本节点?

时间:2018-11-18 14:27:50

标签: html google-chrome dom textnode

通常,如果HTML标记之间存在文本,则它将成为文本节点。然而,这并非总是如此。考虑以下示例:

<p>
  <a href="hello.html">hello</a> <a href="world.html">world</a>
</p>

此处,<p>和第一个<a ...>之间的换行符和2个空格在DOM中不会显示为文本节点,至少在Chrome中不会显示。 helloworld当然是文本节点。似乎只有空格的序列不会显示为文本节点,但并非总是如此:在此示例中,两个链接之间的间隔是一个文本节点。

Chrome如何确定将成为文本节点的内容?

1 个答案:

答案 0 :(得分:0)

在Chrome中尝试此操作,您会看到firstChild中的pText

let p = document.querySelector('p')

console.log(p.firstChild.constructor.name)
<p>
  <a href="hello.html">hello</a> <a href="world.html">world</a>
</p>

编辑:

似乎您甚至无法在Chrome中尝试抛出"Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."

SO需要更新其代码段实现,因为到目前为止显然已被破坏。

编辑2:

您可以在Chrome中查看它:https://codepen.io/anon/pen/qQPdbz?editors=1111