JavaScript HTML DOM增刪改查
阿新 • • 發佈:2017-09-09
刪除 scrip color 沒有 id屬性 tag reat 添加 val
首先 js 可以修改HTML中的所有元素和屬性,它還可以改變CSS樣式,並且可以監聽到所有事件並作出響應,這篇筆記呢 主要記錄如何對HTML元素進行增刪改查。
1 查找DOM
第一種方式是我們最常用的:通過ID查找:
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <p id="demo">你能找到我麽?</p> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ document.getElementById("demo").innerHTML = "ok"; } </script> </html>
註意:當我們寫HTML的時候盡量保證ID不重復。
第二種方法:通過標簽名查找
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <div id="demo"> <p>hi man</p> </div> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ var element = document.getElementById("demo");var p = element.getElementsByTagName("p"); p[0].innerHTML = "yo"; } </script> </html>
↑ 我們取到了ID為demo的div,然後在div中有個p元素 沒有ID屬性,我們就可以通過tagname來找到它。
第三種方法:通過class來查找
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <div class="demo"> <p>hi man</p> </div> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ var element = document.getElementsByClassName("demo")[0]; var p = element.getElementsByTagName("p"); p[0].innerHTML = "yo"; } </script> </html>
2 刪除DOM
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <div id="div1"> <p id="p1">hi man</p> <p id="p2">hello</p> </div> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ var div1 = document.getElementById("div1"); var p2 = document.getElementById("p2"); div1.removeChild(p2); } </script> </html>
3 新增DOM
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <div id="div1"> <p id="p1">hi man</p> <p id="p2">hello</p> </div> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ // 創建P標簽 var p = document.createElement("p"); // 創建文本節點 var node = document.createTextNode("新的P標簽"); // 創建屬性 var attr = document.createAttribute("class"); attr.value = "class p"; // p標簽中添加文本節點 p.appendChild(node); // p標簽中添加屬性 p.setAttributeNode(attr); var div = document.getElementById("div1"); // 添加p標簽 div.appendChild(p); } </script> </html>
4 修改DOM
4.1 修改DOM的內容
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <div id="div1"> <p id="p1">hi man</p> <p id="p2">hello</p> </div> <button onclick="changeText()">點擊改變文本</button> </body> {{--js--}} <script> function changeText(){ var element = document.getElementById("p1"); element.innerHTML = "更改內容"; } </script> </html>
4.2 修改DOM的屬性
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <a href="https://www.baidu.com" id="link">鏈接</a> </body> {{--js--}} <script> var element = document.getElementById("link"); element.href = "https://www.google.com"; </script> </html>
4.3 修改DOM的CSS樣式
<!DOCTYPE html> <html> <head> <title>learn javascript</title> </head> <body> <p id="p1">文本</p> </body> {{--js--}} <script> var element = document.getElementById("p1"); element.style.color = "red"; </script> </html>
JavaScript HTML DOM增刪改查