Javascript 文本在DOM中也被视为节点吗?
我开始阅读JavaScript和DOM,我发现在这样的结构中:Javascript 文本在DOM中也被视为节点吗?,javascript,html,dom,Javascript,Html,Dom,我开始阅读JavaScript和DOM,我发现在这样的结构中: <html> <head> <title>The title</title> </head> <body> The body </body> </html> <html> <head> <title>DOM Tutorial</title>
<html>
<head>
<title>The title</title>
</head>
<body>
The body
</body>
</html>
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
<title><!-- DOM Tutorial --></title>
标题
身体
文本、标题和正文也被视为节点,如下图所示(来自同一站点):
请注意,标题和正文表示为实际标题各自正文节点的子级。让我困惑的是:标题和正文不就是节点
和
的值吗
我在类似结构中的何处遇到过类似的示例:
<html>
<head>
<title>The title</title>
</head>
<body>
The body
</body>
</html>
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
<title><!-- DOM Tutorial --></title>
DOM教程
第一课
你好,世界
和
元素的值也像节点一样描述:
有一个子项:“DOM第一课”
有一个孩子:“你好,世界!”
为什么节点内的文本值被视为不同的节点,而不仅仅是包含它们的节点的文本值
谢谢大家!
让我困惑的是:标题和正文不只是价值观吗
节点和
不,它们实际上是那个些节点的子节点。您可以通过输出标题
标记的子项
属性来查看它:
document.querySelector('title').children
文本节点表示为节点。如前所述,Text_Node=3
。只有表单DOM元素(如输入)具有value
属性,并且这些输入中输入的文本包含在其中
除了文本节点,还有注释节点,如下所示:
<html>
<head>
<title>The title</title>
</head>
<body>
The body
</body>
</html>
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
<title><!-- DOM Tutorial --></title>
为什么节点内的文本值被视为不同的节点而不是其他节点
只是包含它们的节点的文本值
可能是因为它们需要在内存中表示不同的结构,以便可以对其进行操作,例如,更改文本的颜色
标题
和正文
文本不就是节点的值吗
和
不完全是。它们是文本节点的值,分别是
和
的子节点
值本身不是节点,但文本节点确实是节点
注意:并非所有节点类型都可以有值,例如,元素不能。文本不能直接作为元素的值。这是因为元素可以同时包含文本和元素子元素,例如
<div>Hello<span> - </span>World</div>
Hello-World
这里很明显,div
元素没有明显的值。相反,你需要一棵树
- 元素节点
带子节点div
- 具有值的文本节点
Hello
- 带有子元素的元素节点
span
- 值为
-
- 值为
- 具有值的文本节点
World
- 具有值的文本节点