cloneNode的使用
var box = document.querySelector('.box');
// 影子克隆: 只克隆节点本身
var box1 = box.cloneNode(false);
// 深度克隆: 克隆节点以及所有子节点
var box2 = box.cloneNode(true);
无法克隆非内联事件
使用原生克隆方法之克隆属性和内联事件,对于通过事件监听器添加的事件并不会克隆。
// 内联事件处理函数,将会被绑定到克隆所得的新节点上
<div onclick="someFunction();">Click</div>
var el = document.querySelector('.some-class');
//addEventListener函数: 事件将不会被绑定到克隆所得的新节点上
el.addEventListener('click', function(e){
//用户单点
},false);
// 元素属性: 事件将不会被绑定到被克隆的节点上
el.onclick = function(e) {
// 用户点击
}