JavaScript创建HTML5 / XML元素节点

时间:2013-11-30 22:09:04

标签: javascript html5 dom createelement

要使用JavaScript创建要在HTML5文档中使用的元素,我们可以使用DOMDocument对象中的createElement()和createElementNS()方法:

var node = document.createElement(element);
var node = document.createElementNS(nameSpace, element);

这些命令创建一个节点,而不是我们可以使用appendChild()将它放在文档树的某个位置。我的第一个问题是:document.createElement()document.createElementNS()函数是否存储了它们在document对象中某个位置返回的节点对象?

第二,是否可以创建独立于特定document对象的元素节点对象(可能使用名称空间),然后将其附加到给定的某个document对象的文档树中?也就是说,是否存在类似于createElement()createElementNS()的函数,这些函数不是特定对象的成员(如document对象,如上所述)?

第三,是否可以使用给定的文档对象document1创建元素节点对象,并将它们附加到另一个文档对象document2的文档树上?

1 个答案:

答案 0 :(得分:0)

  

我的第一个问题是:document.createElement()和document.createElementNS()函数是否存储它们在文档对象中的某个位置返回的节点对象?

不,实现可能会在内部执行类似的操作,但不会在外部暴露。

  

是否可以创建一个独立于特定文档对象的元素节点对象(可能使用名称空间),然后将其附加到某个文档对象的文档树中?

这个问题的答案也是否定的:通常,每个元素都绑定到用​​于创建它的文档对象,该属性由ownerDocument属性引用。

  

第三,是否可以使用给定的文档对象document1创建元素节点对象,并将它们附加到另一个文档对象document2的文档树上?

是的,第二个文档必须通过adoptNode方法采用节点。使用DOM4,这种方法将变得不必要,因为它主要在文档中插入外部节点之前使用,而DOM4 specifies在这种情况下采用是隐式的。