1、创建元素节点对象
document.createElement()
可以创建一个元素节点对象
它需要一个标签名作为参数,根据该标签名创建元素节点
并将创建好的对象作为返回值返回
2、 创建一个文本节点
document.createTextNode()
可以用来创建一个文本节点对象
需要一个文本内容作为参数,将会根据文本内容创建文本节点,并将新的节点返回
小知识: appendChild()
向一个父节点中添加一个子节点
语法: 父节点.appendChild(子节点)
3、插入一个节点
insertBefore()
可以在指定子节点前插入新的子节点
语法
父节点.insertBefore(新节点,旧节点);
4、替换一个节点
replaceChild()
可以使用指定子节点替换已有子节点
语法
父节点.replaceChild(新节点,旧节点);
5、删除一个节点
removeChild()
删除一个子节点
语法 父节点. removeChild(子节点);
不知道父节点是什么的情况下:
子节点.parentNode.removeChild(子节点);
案例应用:
- <script>
-
- window.onload=function(){
- // 创建一个清莱节点添加到city
- myClick("btn01",function(){
- // 创建清莱节点
- // 创建li
- /*
- * document.createElement()
- * 可以创建一个元素节点对象
- * 它需要一个标签名作为参数,根据该标签名创建元素节点
- * 并将创建好的对象作为返回值返回
- */
- var li=document.createElement("li");
- // 创建清莱的文本节点
- /*
- * document.createTextNode()
- * 可以用来创建一个文本节点对象
- * 需要一个文本内容作为参数,将会根据文本内容创建文本节点,并将新的节点返回
- */
- var gzText=document.createTextNode("清莱");
- // 将清莱的text设置为li的子节点
- /*
- * appendChild()
- * 向一个父节点中添加一个子节点
- * 语法: 父节点.appendChild(子节点)
- */
- li.appendChild(gzText);
-
- // 获取id为city的节点
- var city=document.getElementById("city");
- // 将清莱节点添加到city
- city.appendChild(li);
-
- });
-
- // 将清莱节点插到bj前
- myClick("btn02",function(){
- // 创建一个清莱
- var li=document.createElement("li");
- var gzText=document.createTextNode("清莱");
- li.appendChild(gzText);
- // 获取id为bj的节点
- var bj=document.getElementById("bj");
- /*
- * insertBefore()
- * 可以在指定子节点前插入新的子节点
- * 语法
- * 父节点.insertBefore(新节点,旧节点);
- */
-
- // 获取city
- var city=document.getElementById("city");
- city.insertBefore(li,bj);
-
- });
-
- // 使用清莱节点替换bj节点
- myClick("btn03",function(){
- // 创建一个清莱
- var li=document.createElement("li");
- var gzText=document.createTextNode("清莱");
- li.appendChild(gzText);
- // 获取id为bj的节点
- var bj=document.getElementById("bj");
- // 获取city
- var city=document.getElementById("city");
- /*
- * replaceChild()
- * 可以使用指定子节点替换已有子节点
- * 语法
- * 父节点.replaceChild(新节点,旧节点);
- */
- city.replaceChild(li,bj);
- });
-
- // 删除bj节点
- myClick("btn04",function(){
- // 获取id为bj的节点
- var bj=document.getElementById("bj");
- // 获取city
- // var city=document.getElementById("city");
- /*
- * removeChild()
- * 删除一个子节点
- * 语法 父节点. removeChild(子节点);
- *
- *
- * 子节点.parentNode.removeChild(子节点);
- */
- // city.removeChild(bj);
-
- // 不知道bj的父元素情况(常用)
-
- bj.parentNode.removeChild(bj);
- });
-
- // 读取city内html代码
- myClick("btn05",function(){
- // 获取city
- var city=document.getElementById("city");
- alert(city.innerHTML);
- });
-
- // 设置bj内的html代码
- myClick("btn06",function(){
- // 获取id为bj的节点
- var bj=document.getElementById("bj");
- bj.innerHTML="清莱";
- });
-
-
- /*
- * 使用innerHTML也可以进行增删改的部分
- * 一般两种方式结合使用
- */
- // 创建一个清莱节点添加到city
- myClick("btn07",function(){
- var city=document.getElementById("city");
- // city.innerHTML+="<li>清莱</li>";
- // 创建一个li
- var li=document.createElement("li");
- // 向li中设置文本
- li.innerHTML="清莱";
- // 将li添加至city
- city.appendChild(li);
- });
-
- };
- function myClick(idStr,fun){
- var btn=document.getElementById(idStr);
- btn.onclick=fun;
- }
-
- </script>