Document方法
HTML DOM 方法
getElementById()
返回带有指定 ID 的元素
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementById("main") console.log(gid) </script>
</p>
|
打开F12 控制台 可见打印出了
getElementsByTagName()
返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div class="main"></div> <div class="main">2</div> <div class="main">3</div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementsByTagName("div") console.log(gid) </script>
</html>
|
打开F12 控制台 可见打印出了
1 2
| HTMLCollection(4) [div.main, div.main, div.main, div]
|
getElementsByClassName()
返回包含带有指定类名的所有元素的节点列表
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div class="main"></div> <div class="main">2</div> <div class="main">3</div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementsByClassName("main") console.log(gid) </script>
</html>
|
打开F12 控制台 可见打印出了
1 2
| HTMLCollection(3) [div.main, div.main, div.main]
|
appendChild()
把新的子节点添加到指定节点
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"></div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementById("main") const node = document.createElement("li"); gid.appendChild(node); console.log(gid) </script>
</html>
|
1
| 在<div id="main"></div>里会增加一个li元素
|
removeChild()
删除子节点
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementById("main") var li_1 = document.getElementsByTagName('li')[0] gid.removeChild(li_1); console.log(gid) </script>
</html>
|
1
| 在<div id="main"></div>里的一个li元素会被删除
|
replaceChild()
替换子节点
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementById("main") var li_1 = document.getElementsByTagName('li')[0] var p_1 = document.createElement("p"); gid.replaceChild(p_1, li_1); console.log(gid) </script>
</html>
|
1
| 将<div id="main"></div>里的一个li元素替换成p元素
|
insertBefore()
在指定的子节点前面插入新的子节点
样例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var gid = document.getElementById("main") var li_1 = document.getElementsByTagName('li')[0] var p_1 = document.createElement("p"); gid.insertBefore(p_1, li_1); console.log(gid) </script>
</html>
|
1
| 在将<div id="main"></div>里的一个li元素前面插入了一个p元素
|
createAttribute()
创建属性节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var att = document.createAttribute("class"); var at_id = document.createAttribute("id"); att.value = "attclass"; at_id.value = "test" document.getElementsByTagName("li")[0].setAttributeNode(att); document.getElementsByTagName("li")[0].setAttributeNode(at_id);
</script>
</html>
|
1 2
| <li>里会增加 class='attclass' id='test' 结果 <li class="attclass" id="test"></li>
|
createElement()
创建元素节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var new_div = document.createElement('div') document.getElementsByTagName("li")[0].appendChild(new_div)
</script>
</html>
|
1 2 3 4
| 在<li>里增加了一个div元素 结果 <li><div></div></li>
|
createTextNode()
创建文本节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var str = document.createTextNode("Hello World"); document.getElementsByTagName("li")[0].appendChild(str)
</script>
</html>
|
1 2
| 在li中添加了字符串 Hello World 结果 <li>Hello World</li>
|
getAttribute()
返回指定的属性值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li class="test"></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var div1 = document.getElementsByTagName("div")[0] var att_id = div1.getAttribute("id"); console.log(att_id)
</script>
</html>
|
打开F12 控制台 可见打印出了
setAttribute()
把指定属性设置或修改为指定的值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>
<body> <div id="main"> <li class="test"></li> </div> <div style="margin-top: 5px;"> <button class="btn">计算</button> </div> </body>
<script> var li_class = document.getElementsByClassName("test")[0] li_class.setAttribute("class", "newclass")
</script>
</html>
|
1 2
| 将<li>里的class改成了newclass 结果 <li class="newclass"></li>
|