阅读W3schools HTML DOM教程。有一段对我来说毫无意义。
对我来说没有意义的一点是:
DOM处理中的常见错误是期望元素节点包含文本。
但是,元素节点的文本存储在文本节点中。
在此示例中:
<title>DOM Tutorial</title>
,元素节点<title>
包含一个值为“DOM Tutorial”的文本节点。“DOM教程”不
<title>
元素的值!但是,在HTML DOM中,innerHTML属性可以访问文本节点的值。
好的,什么?这听起来与我的情况完全相反。 感谢
答案 0 :(得分:2)
当标记文档转换为DOM时,最终会得到一个节点树。
有几种类型的节点,包括元素,文本和注释。
节点具有属性。例如HTMLInputNode将具有映射到其当前值的value
属性。任何HTMLElementNode都将具有style
属性,通过该属性可以访问通过style
属性定义的CSS属性。同样,它也会有className
属性,映射到class
属性。
当你有<title>DOM Tutorial</title>
时,你有一个包含TextNode的HTMLTitleNode。要获取文本DOM Tutorial
,您应该访问TextNode,然后阅读其data
属性。
myTitle.firstChild.data
然后W3Schools通过提及innerHTML
来淹没水。
innerHTML
是一个属性(虽然不是标准的DOM属性(我认为HTML 5正在定义它))HTMLElementNodes,它给你一个元素的HTML内容的序列化(但不是元素本身)。
由于title元素中只有一个TextNode,因此你最终会得到纯文本。