HTML DOM和XML DOM之间有什么区别

时间:2011-06-20 13:16:00

标签: javascript html xml dom

在w3school网站上有两个教程:

HTML DOM

XML DOM

我想知道它们的相关性,因为我认为HTML DOM是一种XML DOM。

因此XML DOM中的方法/属性可以在HTML DOM中使用,HTML DOM可能拥有一些特殊的方法。

然而,当我尝试使用它时:

HTML:

<span id="con">xxx</span>

var a=document.createElement("a");
document.getElementById("con").appendChild(a);

它在IE中不起作用。

所以我想知道这是什么问题?

3 个答案:

答案 0 :(得分:2)

您的代码中有错误,它错过了'e':

document.getElementById('con').appendChild(a);

答案 1 :(得分:2)

appendChild() is buggy in IE

答案 2 :(得分:2)

DOM指的是用XML制作的树。树由节点组成。例如:

<a x="bb">
   <b> text </b>
</a>

变成一个有三个节点的树:一个用于a,一个用于b,另一个用于文本。节点包含属性作为字段。因此a节点将包含一个字段:x="bb"

HTML(实际上)是XML,因此您可以从中构建DOM树。 HTML只是带有预定义元素的XML。即,您不能使用您想要的任何名称(您不能使用<children><ball>,...)您可以使用预定义的名称(a,{ {1}},span,...)。

我说“实际上”因为HTML通常是破碎的XML(例如使用div是错误的XML。您应该使用<br>代替)。浏览器拥有智能解析器,它们知道如何克服这个破碎的XML并从HTML中创建一个可用的树。