appendChild()方法:相当于剪切粘贴的效果

<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#div1{
width:200px;
height:150px;
border:2px solid red;
}
#div2{
width:200px;
height:150px;
border:5px dashed green;
}
</style>
</head>
<body>
<div id="div1">
<ul id="ulid11">
<li>tom</li>
<li>kitty</li>
<li>jack</li>
</ul>
</div>
<div id="div2">
</div>
<input type="button" value="add1" onclick="add1()"/>
</body>
<script type="text/javascript">
function add1(){
var div2 = document.getElementById("div2");
var ul1 = document.getElementById("ulid11");
div2.appendChild(ul1);
}
</script>
</html>

insertBefore(newNode, oldNode)方法
- 在某个节点之前插入一个新的节点
- 两个参数:要插入的节点、在谁之前插入
- 插入一个节点,节点不存在,则要创建:
1、创建标签
2、创建文本
3、把文本添加到标签下面
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<ul id="ulid21">
<li id="lil1">西施</li>
<li id="lil2">王昭君</li>
<li id="lil3">貂蝉</li>
<li id="lil4">杨玉环</li>
</ul>
<input type="button" value="insert" onclick="insert1()"/>
</body>
<script type="text/javascript">
function insert1(){
var lil3 = document.getElementById("lil3");
var lil5 = document.createElement("li");
var text15 = document.createTextNode("董小宛");
lil5.appendChild(text15);
var ul1 = document.getElementById("ulid21");
ul1.insertBefore(lil5,lil3);
}
</script>
</html>

removeChild()方法: 只能通过父节点来删除,不能通过自己来删除自己
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<ul id="ul1">
<li id="li1">西施</li>
<li id="li2">王昭君</li>
<li id="li3">貂蝉</li>
<li id="li4">杨玉环</li>
</ul>
<input type="button" value="remove" onclick="remove1()"/>
</body>
<script type="text/javascript">
function remove1(){
var li4 = document.getElementById("li4");
var ul1 = li4.parentNode;
ul1.removeChild(li4);
}
</script>
</html>

replaceChild(newNode, odlNode)方法: 不能通过自己替换自己,只能通过父节点来替换
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<ul id="ul1">
<li id="li1">西施</li>
<li id="li2">王昭君</li>
<li id="li3">貂蝉</li>
<li id="li4">杨玉环</li>
</ul>
<input type="button" value="replace" onclick="replace1()"/>
</body>
<script type="text/javascript">
function replace1(){
var li4 = document.getElementById("li4");
var liNew = document.createElement("li");
var textNew = document.createTextNode("小龙女");
liNew.appendChild(textNew);
var ul1 = li4.parentNode;
ul1.replaceChild(liNew,li4);
}
</script>
</html>

cloneNode(boolean)方法: 复制节点
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
#div1{
width:200px;
height:300px;
border:2px solid red;
}
</style>
</head>
<body>
<ul id="ul1">
<li id="li1">西施</li>
<li id="li2">王昭君</li>
<li id="li3">貂蝉</li>
<li id="li4">杨玉环</li>
</ul>
<div id="div1">
</div>
<input type="button" value="cloneNode" onclick="cloneNode1()"/>
</body>
<script type="text/javascript">
function cloneNode1(){
var ul1 = document.getElementById("ul1");
var ul1_clone = ul1.cloneNode(true);
var div1 = document.getElementById("div1");
div1.appendChild(ul1_clone);
}
</script>
</html>

操作DOM树总结:
