要使用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
的文档树上?
答案 0 :(得分:0)
我的第一个问题是:document.createElement()和document.createElementNS()函数是否存储它们在文档对象中的某个位置返回的节点对象?
不,实现可能会在内部执行类似的操作,但不会在外部暴露。
是否可以创建一个独立于特定文档对象的元素节点对象(可能使用名称空间),然后将其附加到某个文档对象的文档树中?
这个问题的答案也是否定的:通常,每个元素都绑定到用于创建它的文档对象,该属性由ownerDocument
属性引用。
第三,是否可以使用给定的文档对象document1创建元素节点对象,并将它们附加到另一个文档对象document2的文档树上?
是的,第二个文档必须通过adoptNode
方法采用节点。使用DOM4,这种方法将变得不必要,因为它主要在文档中插入外部节点之前使用,而DOM4 specifies在这种情况下采用是隐式的。