【JS】JavaScript中的cloneNode()方法

<body>
	<ul id="ul1">
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</ul>

  <script type="text/javascript">
	var ul1 = document.getElementById('ul1');
	alert(ul1.childNodes.length);  // 3或7

	var ul2 = ul1.cloneNode(true);  // 深复制
	alert(ul2.childNodes.length);  // 3或7
	
	var ul3 = ul1.cloneNode(false);  // 浅复制
	alert(ul2.childNodes.length);  // 0
  </script>
 </body>

cloneNode()用于创建调用这个方法的节点的一个相同的副本,该方法接受一个布尔值,表示是否执行深复制,true表示深复制,也就是复制节点及整个子节点树;false表示浅复制(默认是false),就是只复制节点本身。复制后返回的节点副本归文档所有,没有为它指定父节点。cloneNode()不会复制添加到DOM节点中的JavaScript属性,比如事件处理程序等,该方法只复制特性(在明确指定情况下会复制)、子节点。


你可能感兴趣的:(JavaScript)