clonenode(true)的简单介绍
2019-11-24-JS中cloneNode()与cloneNode(true)之间区别
cloneNode()或者叫cloneNode(false)克隆的节点复制真节点的样式,标签,属性。至于标签里的元素,事件没有复制,所以我们可以称它浅克隆。
cloneNode(true)完全把真节点的东西给复制了过来,我们称它为深克隆。也会克隆他的子节点
Dom对象-节点对象
? ? 1.node.nodeName:查看节点名称(元素节点返回标签名(大写),文本节点返回?#text)
? ? 2.node.nodeType:查看节点类型(元素节点返回1,属性节点返回2,文本节点返回3)
? ? 3.node.nodeValue:查看节点的值(元素节点返回null,文本节点返回文本值)
? ??DOM对象集合了HTML标签中能被解析的属性(标准属性)作为DOM对象的属性
? ??查询到的input节点包含了type、name、value等属性,其他未设置值的属性也包含在节点对象中
? ? 1.node.offsetLeft:元素在页面中的水平坐标值
? ? 2.node.offsetTop:元素在页面中的垂直坐标值
? ? 3.node.clientWidth:元素在页面视口区域占据的宽度(不含边框)
? ? 4.node.clientHeight:元素在页面视口区域占据的高度(不含边框)
? ??5.node.offsetWidth:元素在页面区域占据的宽度(含边框)
? ? 6.offsetHeight:元素在页面区域占据的高度(含边框)
? ? 7.scrollLeft:窗口或者容器内容水平滚动的距离
? ? 8.scrollTop:窗口或者容器内容垂直滚动的距离
融在第三点最后了
? ? 1.方法名.innerHTML(包含了此方法对应的对象内所有空白文本以及标签在内的所有内容)
? ? 2.方法名.innerText(包含了此方法对应的对象内文本内容且空白文本除外)
? ? 1.node.getAttribute():读取节点的属性值
? ? 2.node.setAttribute():设置节点属性值
? ? 3.node.removeAttribute():删除节点的属性
? ? 4.node.hasAttribute():检测节点是否存在某属性
? ? 1.方法名.querySelector(选择器):按CSS样式查询,返回第一个节点
? ? 2.node.querySelectorAll(选择器):按CSS样式查询,返回所有节点集合
? ? 3.node.getElementsByTagName(tname):查询node下面所有标签名为tname的元素集合
? ? 4.node.getElementsByClassName(cname):查询node下面所有类名为cname的元素集合
? ? 1.往父节点插入子节点并指定所有元素的后面
? ??????父级方法名.appendChild(插入的元素)??
? ? 2.往父节点插入子节点并指定在某个子元素的前面
? ? ? ? 父级方法名.insertBefore(插入的元素,插入的元素后的一个元素名)
? ? 注意:在dom中插入节点都是基于父节点来完成的
? ? 1. 父级方法名.removeChild(子级元素):删除父级元素中的子级节点
? ? 1.父级方法名.replaceChild(new,old):将父级元素中的old节点替换成一个新的new节点
? ? 1.浅复制:node.cloneNode():只复制此元素不包含子元素
? ? 2.深复制:node.cloneNode(true):复制此元素且包含子元素
? ? 1.父级元素.hasChildNodes() :检测节点是否含有子节点,包括空白节点? ??
? ? 1.node.parentNode:node的父节点
? ? 2.node.childNodes?:node所有子节点
? ??3.node.children:node所有子元素?
? ??4.node.firstChild:node的第一个子节点
? ??5.node.firstElementChild:node的第一个子元素?
? ??6.node.lastChild :node的最后一个节点
? ??7.node.lastElementChild:的最后一个元素
? ? 8.node.nextSibling:node的下一个兄弟节点
? ? 9.node.nextElementSibling:node的下一个兄弟元素
? ? 10.node.previousSibling:node的前一个兄弟节点
? ? 11.node.previousElementSibling:node前一个兄弟元素
十四、节点样式操作
? ? 1.html标签中集合了style的标准属性因此可以使用?DOM.style访问样式, 注意 它只能访问使用style定义的内联样式,而不能访问内部和外链样式,且访问样式需要使用驼峰替代" - "
? ? 2.当CSS样式较多时,可以使用DOM.cssText来重置。
? ? 3.window.getComputedStyle():返回一个对象,该对象在应用活动样式表并解析这些值可能包含的任何基本计算后,报告元素的所有CSS属性的值
cloneNode()用法
cloneNode() 方法创建节点的拷贝,并返回该副本。
cloneNode() 方法克隆所有属性以及它们的值。
如果需要克隆所有,需要把 deep 参数设置 true,否则设置为 false。
语法为:node.cloneNode(deep)
参数deep默认是 false。
设置为 true,是克隆节点及其属性,以及后代
设置为 false,是克隆节点及其后代
js 的clonenode怎么用
定义和用法
cloneNode() 方法创建节点的拷贝,并返回该副本。
cloneNode() 方法克隆所有属性以及它们的值。
如果您需要克隆所有后代,请把 deep 参数设置 true,否则设置为 false。
var?ele=document.getElementById('id');
var?eleClone=ele.cloneNode(true);
document.body.appendChild(eleClone);