1.創建DOM元素
createElement(標簽名) 創建一個節點
appendChild(節點) 追加一個節點
例子:為ul插入li 並且為li元素插入一些文字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.onload = function () {
var oBtn = document.getElementById('btn');
var oUl = document.getElementById('ul1');
var oText = document.getElementById('text1');
oBtn.onclick = function () {
var oLi = document.createElement('li');
oLi.innerHTML = oText.value;
oUl.appendChild(oLi);
}
};
</script>
</head>
<body>
<input id='text1' type="text">
<input id="btn" type="button" value="創建li">
<ul id="ul1">
</ul>
</body>
</html>
效果:

appendChild(節點) 追加一個節點,每次都在尾部追加。
appendChild有兩種意思:1.先把元素從原有父級上刪掉 2.添加到新的父級
如:點擊移動按鈕,使最上面的移到最下面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#ul1 {
background: green;
}
</style>
<script>
window.onload = function () {
var oUl1 = document.getElementById('ul1');
var oBtn = document.getElementById('btn1');
oBtn.onclick = function () {
var oLi = oUl1.children[0];
oUl1.appendChild(oLi);
};
};
</script>
</head>
<body>
<input id='btn1' type="button" value="移動">
<ul id="ul1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</body>
</html>
效果:

借用appendChild可以排序:
如:點擊排序按鈕,使數字從小到大排序
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#ul1 {
background: green;
}
</style>
<script>
window.onload = function () {
var oUl1 = document.getElementById('ul1');
var oBtn = document.getElementById('btn1');
var aLi = oUl1.getElementsByTagName('li');
oBtn.onclick = function () {
var arr = [];
for(var i=0;i<aLi.length;i++){
arr[i] = aLi[i];
}
arr.sort(function (li1,li2) {
var num1 = parseInt(li1.innerHTML);
var num2 = parseInt(li2.innerHTML);
return num1 - num2;
});
for(var i=0;i<arr.length;i++){
oUl1.appendChild(arr[i]);
}
};
};
</script>
</head>
<body>
<input id='btn1' type="button" value="排序">
<ul id="ul1">
<li>16</li>
<li>12</li>
<li>36</li>
<li>24</li>
</ul>
</body>
</html>
效果:

2.插入元素
insertBefore(節點,原有節點) 在已有元素前插入
例子:倒序插入li
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.onload = function () {
var oBtn = document.getElementById('btn');
var oUl = document.getElementById('ul1');
var oText = document.getElementById('text1');
var aLi = oUl.getElementsByTagName('li');
oBtn.onclick = function () {
var oLi = document.createElement('li');
oLi.innerHTML = oText.value;
if(aLi.length > 0){
oUl.insertBefore(oLi,aLi[0]);
}else {
oUl.appendChild(oLi);
}
}
};
</script>
</head>
<body>
<input id='text1' type="text">
<input id="btn" type="button" value="創建li">
<ul id="ul1">
</ul>
</body>
</html>
效果:

3.刪除DOM元素
removeChild(節點) 刪除一個節點
例子:刪除li
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
window.onload = function () {
var oUl = document.getElementById('ul1');
var aA = document.getElementsByTagName('a');
for(var i=0;i<aA.length;i++){
aA[i].onclick = function () {
oUl.removeChild(this.parentNode);
};
}
};
</script>
</head>
<body>
<ul id="ul1">
<li>111111<a href="#">刪除</a></li>
<li>222222<a href="#">刪除</a></li>
<li>333333<a href="#">刪除</a></li>
<li>444444<a href="#">刪除</a></li>
<li>555555<a href="#">刪除</a></li>
</ul>
</body>
</html>
效果:

