📅  最后修改于: 2023-12-03 15:35:47.006000             🧑  作者: Mango
在 XML DOM 中,我们可以使用 cloneNode()
方法来克隆一个节点。该方法的语法如下:
clonedNode = node.cloneNode(deep);
其中,node
是待克隆的节点;deep
可选,默认为 false
,表示仅克隆节点本身,而不克隆其子节点;如果设置为 true
,则表示连同子节点一起克隆。
cloneNode()
方法返回一个克隆后的节点对象。
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
var xmlDoc = loadXMLDoc("books.xml");
var origBook = xmlDoc.getElementsByTagName("book")[0];
var clonedBook = origBook.cloneNode(true);
执行以上代码后,clonedBook
将是 origBook
的克隆。
nodeName
和 nodeType
属性。cloneNode()
方法仅克隆节点及其属性,而不包括事件的监听器、JavaScript 数据、自定义的 DOM
属性等。ID
属性,在文档中就会存在两个相同的 ID
,因此在使用拷贝节点前,需要处理子树,移除所有 ID
属性。parentNode
属性为空,因为它尚未被添加到任何节点中。以上是 XML DOM
中克隆节点的说明,功能强大、易于操作。使用 cloneNode()
方法进行节点克隆,可以大大提高节点操作的效率。