js实现克隆节点

直接上代码

<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>HTML DOM</title>
        <script type=text/javascript>
        function add()
        {
//alert("0");
        var parent=document.getElementById("parent");//id 取得 的是 对象
var son=document.getElementsByClassName("son");//class 取得的是 数组
        parent.appendChild(son[0].cloneNode(true));
        }
        </script>
</head>
<body>
<div id="parent">
<p class="son">hello world!<b>hahaha</b></p>
</div>
        <a href="javascript:void(0)" onClick="add()">add</a>
</body>
</html>

cloneBode若为false不克隆任何子节点,包括自身的文本

若为true克隆所有子节点

使用jQuery可以很方便地实现节点克隆,可以使用clone()方法来进行克隆,具体步骤如下: 1. 选择要克隆节点,并使用clone()方法进行克隆,同时将克隆节点保存在一个变量中。 ```javascript var cloneNode = $('#originalNode').clone(); ``` 2. 可以对克隆节点进行一些修改,比如修改节点的属性、样式、内容等。 ```javascript cloneNode.attr('id', 'cloneNode'); cloneNode.css('color', 'red'); cloneNode.html('This is a clone node.'); ``` 3. 将克隆节点插入到目标节点中,可以选择在目标节点前或后插入,也可以作为目标节点的子节点插入。 ```javascript $('#targetNode').after(cloneNode); // 插入到目标节点后 $('#targetNode').before(cloneNode); // 插入到目标节点前 $('#targetNode').append(cloneNode); // 插入到目标节点内部 ``` 完整代码示例: ```html <!DOCTYPE html> <html> <head> <title>jQuery Clone Node</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(document).ready(function(){ $('#cloneBtn').click(function(){ // 克隆节点 var cloneNode = $('#originalNode').clone(); // 修改节点属性、样式、内容 cloneNode.attr('id', 'cloneNode'); cloneNode.css('color', 'red'); cloneNode.html('This is a clone node.'); // 插入克隆节点 $('#targetNode').after(cloneNode); }); }); </script> </head> <body> <div id="originalNode">This is the original node.</div> <button id="cloneBtn">Clone Node</button> <div id="targetNode">This is the target node.</div> </body> </html> ``` 在上面的示例中,点击“Clone Node”按钮后会将原始节点克隆并插入到目标节点后面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值