XML DOM cloneNode() Method
Node Object
Example
The following code fragment loads "books.xml", clones the first <book> node and then adds it to the end of the node list:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var x, y, cloneNode, i, xmlDoc, txt;
xmlDoc = xml.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName('book')[0];
cloneNode
= x.cloneNode(true);
xmlDoc.documentElement.appendChild(cloneNode);
//
Output all titles
y = xmlDoc.getElementsByTagName("title");
for (i = 0; i < y.length; i++) {
txt += y[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
The output of the code above will be:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
Try it Yourself »
Definition and Usage
The cloneNode() method creates a copy of a node, and returns the newly clone node.
Browser Support
The cloneNode() method is supported in all major browsers.
Syntax
nodeObject.cloneNode(deep)
Parameters
Parameter | Type | Description |
---|---|---|
deep | Boolean | true clones the node, its attributes, and its descendants.
false clones the node and its attributes. |
Return Value
Type | Description |
---|---|
Node object | The cloned node |
Technical Details
DOM Version | Core Level 1 Node Object |
---|
Node Object