1.createElement()
可以用来创建一个元素节点对象, 它需要一个标签名字符串作为参数,它会根据这个标签名创建元素节点对象。然后将创建好的对象作为返回值返回。
const li=document.createElement("li")
2.createTextNode()
可以用来创建一个文本对象,它需要一个文本字符串作为参数,它会根据这个文本内容创建文本节点。然后将创建好的文本节点作为返回值返回。
const gzText=document.createTextNode("广州")
3.appendChild()
向一个父节点中添加一个新的子节点。
用法:父节点.appendChild("子节点")
示例:是向ul中添加一个li的子节点。
<ul>
</ul>
//首先获取ul对象
const ul=document.getElementsByTagName("ul")[0]
//第二步创建一个li节点
const li=doucment.createElement("li")
//第三步向ul中添加这个li子节点
ul.appendChild("li")
4.insertBefore()
可以在指定节点的前面插入一个新的子节点。
用法:父节点.insertBefore(新节点,旧节点)
示例:在class名为last的li前面插入一个新的li节点
<ul>
<li class="last"></li>
</ul>
//首先获取ul对象
const ul=document.getElementsByTagName("ul")[0]
//第二步class为last的li
const last=document.getElemenmtsByClassName("last")[0]
//第三步创建一个li节点
const li=doucment.createElement("li")
//第四步向ul中class为last的这个节点之前添加一个新的节点
ul.insertBefore(li,last)
5.replaceChild()
可以使用指定的子节点替换已有的子节点。
用法:父节点.replaceChild(新节点,旧节点)
示例:将div下的span元素替换成p元素。
<div>
<span></span>
</div>
//首先获取div对象
const div=document.getElementsByTagName("div")[0]
//首先获取span对象
const span=document.getElementsByTagName("span")[0]
//第三步创建一个p节点
const p=doucment.createElement("p")
//第四步将div下的span元素替换成p元素
ul.replaceChild(p,span)
6.removeChild()
可以删除指定的子节点,包括自杀和他杀两种情况。
用法:父节点.removeChild(待删除节点)
示例:将ul下的li删除
<ul>
<li></li>
</ul>
第一种情况他杀:
//首先获取ul对象
const ul=document.getElementsByTagName("ul")[0]
//第二步获取待删除li对象
const li=document.getElementsByTagName("li")[0]
//第三步将ul下的li节点删除(他杀)
ul.removeChild(li)
第二种情况自杀:
//第一步获取待删除li对象
const li=document.getElementsByTagName("li")[0]
//第二步将ul下的li节点删除(他杀)
li.parentNode.removeChild(li)
总结:
- 前面两个方法的调用对象都是document对象,而后面的调用对象都是我们的父节点不要搞错了。
- 这几个DOM元素节点的增删查都是方法而不是属性,所以要带括号。而在我们DOM节点的查的所有方法和属性中,有几个是属性而不是方法,比如perviousSibling,nextSibling,chlidren,childNodes,parentNode,firstChild,lastChild等都是属性,大家可以去看看DOM节点查的所有总结。
- removeChild()中包含了自杀和他杀的方法,而自杀其实就是借助parentNode节点去实现自杀的操作,而他杀就是正常的操作。