clonenode(true)的简单介绍

http://www.itjxue.com  2023-03-16 12:51  来源:未知  点击次数: 

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);

(责任编辑:IT教学网)

更多