В чем разница между HTML DOM и XML DOM - PullRequest
2 голосов
/ 20 июня 2011

На сайте 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 ]

2 голосов
/ 20 июня 2011
2 голосов
/ 20 июня 2011

DOM относится к дереву, которое вы создаете из XML.Дерево состоит из узлов.Например:

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

превращается в дерево с тремя узлами: один для a и один для b и один для текста.Узлы содержат атрибуты в виде полей.Таким образом, узел a будет иметь поле: x="bb".

HTML - это (практически) XML, поэтому из него можно построить дерево DOM.HTML это просто XML с предопределенными элементами.То есть, вы не можете использовать любые имена для своих элементов (вы не можете использовать <children>, <ball>, ...), вы можете использовать предопределенные имена (a, span, div...).

Я говорю «практически», потому что HTML обычно является неработающим XML (например, использование <br> - это неправильный XML. Вместо него следует использовать <br />).В браузерах есть интеллектуальные парсеры, которые знают, как преодолеть этот сломанный XML и создать из HTML полезное дерево.

2 голосов
/ 20 июня 2011

В вашем коде есть ошибка, он пропускает 'e':

document.getElementById('con').appendChild(a);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...