【前言】
JS节点操作:创建、添加、删除等。属性操作:创建、添加等。
首先总结下常见的节点分类:
1、整个文档是一个文档节点
2、每个 HTML 元素是元素节点
3、HTML 元素内的文本是文本节点
4、每个 HTML 属性是属性节点
5、注释是注释节点
【主体】
(1)获取节点
document.getElementById()→通过id获取 document.getElementsByName()→通过name获取 document.getElementsByTagName()→通过标签名获取 document.getElementsByClassName()→通过类名获取
(2)创建节点
createAttribute()→创建属性节点 createElement()→创建元素节点 createTextNode()→创建文本节点
(3)属性操作
1、设置属性
setAttribute()→修改/设置指定属性
除了直接设置属性外,还可以先创建再传值
案例:创建 class 属性, 属性值为 "democlass", 并将clas属性添加到 H1 元素中:
var att=document.createAttribute("class"); att.value="democlass"; document.getElementsByTagName("H1")[0].setAttributeNode(att);
2、获取属性
getAttribute()→返回指定的属性值
(4)添加元素节点appendChild()
/*1.创建新的<p>元素*/ var para=document.createElement("p"); /*2.向<p>元素添加文本(首先创建文本节点),(此段代码创建了一个文本节点)*/ var node=document.createTextNode("这是新段落"); /*3.向<p>元素追加这个文本节点*/ para.appendChild(node);
(5)移除元素节点removeChild()
/*1.找到父元素*/ var parent=document.getElementById("div1"); /*2.找到子元素*/ var child=document.getElementById("p1"); /*3.将子元素从父元素中删除*/ parent.removeChild(child);
(6)替换元素节点
replaceChild()→替换子节点
(7)插入元素节点
insertBefore()→在指定的子节点前面插入新的子节点
【小结】
(1)为什么添加和删除操作都涉及到了父元素?
如果能够在不引用父元素的情况下删除某个元素,就太好了。不过很遗憾。DOM 需要清楚你删除的元素,以及它的父元素。这是常用的解决方案:找到你希望删除的子元素,然后使用其 parentNode 属性来找到父元素。
.