DOM - 节点对象方法 - cloneNode
方法 cloneNode 用于在派生类中重写时创建重复节点。它返回重复的节点。
语法
以下是使用 cloneNode 方法的语法。
nodeObject.cloneNode(boolean deep)
S.No. | 参数 &描述 |
---|---|
1 |
deep 如果为 true,则递归克隆指定节点下的子树;如果为 false,则仅克隆节点本身(如果它是元素,则及其属性)。 |
此方法返回重复的 Node。
示例
node.xml 内容如下 −
<?xml version = "1.0"?> <Company> <Employee category = "Technical"> <FirstName>Tanmay</FirstName> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> <Email>tanmaypatil@xyz.com</Email> </Employee> <Employee category = "Non-Technical"> <FirstName>Taniya</FirstName> <LastName>Mishra</LastName> <ContactNo>1234667898</ContactNo> <Email>taniyamishra@xyz.com</Email> </Employee> <Employee category = "Management"> <FirstName>Tanisha</FirstName> <LastName>Sharma</LastName> <ContactNo>1234562350</ContactNo> <Email>tanishasharma@xyz.com</Email> </Employee> </Company>
以下示例演示了 cloneNode 方法的用法 −
<!DOCTYPE html> <html> <head> <script> function loadXMLDoc(filename) { if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else // code for IE5 and IE6 { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",filename,false); xhttp.send(); return xhttp.responseXML; } </script> </head> <body> <script> xmlDoc = loadXMLDoc("/dom/node.xml"); x = xmlDoc.getElementsByTagName('Employee')[0]; clone_node = x.cloneNode(true); xmlDoc.documentElement.appendChild(clone_node); document.write("Following list has cloned node: "); document.write("<br>"); y = xmlDoc.getElementsByTagName("LastName"); for (i = 0; i < y.length; i ++) { document.write(y[i].childNodes[0].nodeValue); document.write("<br>"); } </script> </body> </html>
执行
将此文件另存为 nodemethod_clonenode.html 并保存在服务器路径上(此文件和 node.xml 应位于您服务器中的同一路径上)。我们将获得如下所示的输出 −
Following list has cloned node : Patil Mishra Sharma Patil
您将注意到第一个姓氏 Patil 已被克隆。
dom_node_object.htm