一、DMO增加节点
Ⅰ、追加子节点
①创建所要追加的文本createTextNode()
②创建节点元素createElement()
③将文本添加至节点中appendChild()
④获取ul对象getElementsByTagName()
⑤将li装进ul中appendChild()
Ⅱ、插入子节点
①创建所要插入的文本createTextNode()
②创建节点元素createElement()
③将文本添加至节点中appendChild()
④获取ul对象getElementsByTagName()
⑤获取元素(需要展示在哪个元素前)getElementById()
⑥插入inserteBefore()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>增加节点</title>
</head>
<body>
<ul>
<li> 宋江 </li>
<li> 李逵 </li>
<li id="ws"> 武松 </li>
<li> 武大郎 </li>
</ul>
<button οnclick="addNode()"> 追加字节点 </button>
<button οnclick="insertNode()"> 插入字节的 </button>
<script>
// Ⅰ、追加子节点 appendChild()
function addNode(){
// 1、创建文本 createTextNode()
var textObj = document.createTextNode("西门庆");
// 2、创建节点元素 createElement()
var liObj = document.createElement("li");
// 3、 将创建的文本添加至创建的节点中 appendChild()
liObj.appendChild(textObj);
// 4、获取ul对象
var ulObj = document.getElementsByTagName("ul")[0];
// 5、 将li装进ul中
ulObj.appendChild(liObj);
}
// Ⅱ、插入字节点 insertBefore()
function insertNode(){
// 1、创建文本 createTextNode()
var textObj = document.createTextNode("鲁智深");
// 2、创建节点元素 vreateElement()
var liObj = document.createElement("li");
// 3、将创建的文本添加至创建的节点中 appendChild()
liObj.appendChild(textObj);
// 4、 获取ul对象
var ulObj = document.getElementsByTagName("ul")[0];
// 5、 获取武松
var wsObj = document.getElementById("ws");
// 6、 插入
ulObj.insertBefore(liObj, wsObj);
}
</script>
</body>
</html>
二、DOM删除节点
Ⅰ、删除节点
①获取父节点getElementsByTagName()[]
②获取要删除的节点getElementById()
③ 删除removeChild()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>删除节点</title>
</head>
<body>
<ul>
<li> 宋江 </li>
<li id="lk"> 李逵 </li>
<li> 武松 </li>
<li> 武大郎 </li>
</ul>
<button οnclick="deleteNode()"> 删除节点 </button>
<script>
// 删除节点 removeChild()
function deleteNode() {
// 1、获取父节点
var ulObj = document.getElementsByTagName("ul")[0];
// 2、获取要删除的节点
var lkObj = document.getElementById("lk");
// 3、删除
ulObj.removeChild(lkObj);
}
</script>
</body>
</html>
三、 修改节点
Ⅰ、修改节点
①创建文本createTextNode()
②创建节点createElement()
③将文本添加至节点appendChild()
④获取替换(修改)的节点getElementById()
⑤获取父节点getElementsByTagName()
⑥替换,前面的参数为新的,后面的参数为旧的replaceChild()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改节点</title>
</head>
<body>
<ul>
<li> 宋江 </li>
<li id="lk"> 李逵 </li>
<li> 武松 </li>
<li> 武大郎 </li>
</ul>
<button οnclick="repNode()"> 修改节点 </button>
<script>
// 修改节点 replaceChild()
function repNode(){
// 1、创建文本 createTextNode()
var textObj = document.createTextNode("林冲");
// 2、创建节点
var liObj = document.createElement("li");
// 3、 将文本添加至节点
liObj.appendChild(textObj);
// 4、获取替换(修改)的节点
var lkObj = document.getElementById("lk");
// 5、 获取父节点
var ulObj = document.getElementsByTagName("ul")[0];
// 6、 替换,前面参数为新的,后面为旧的
ulObj.replaceChild(liObj, lkObj);
}
</script>
</body>
</html>
四、DOM复制节点
Ⅰ、复制节点
①获取ul,getElementsByTagName()
②获取目标(所要存放的位置)getElementById()
③复制cloneNode()
④粘贴appendChild()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>复制节点</title>
<style>
#box {
width:400px;
height:400px;
background-color: orange;
}
</style>
</head>
<body>
<ul>
<li> 宋江 </li>
<li id="lk"> 李逵 </li>
<li> 武松 </li>
<li> 武大郎 </li>
</ul>
<div id="box"></div>
<button οnclick="copyNode()"> 复制节点 </button>
<script>
// 复制节点
function copyNode(){
// 1、获取ul
var ulObj = document.getElementsByTagName("ul")[0];
// 2、获取目标(所有存放位置)
var divObj = document.getElementById("box");
// 3、复制
var copyObj = ulObj.cloneNode(true);
// 4、粘贴
divObj.appendChild(copyObj);
}
</script>
</body>
</html>