實際前端開發(fā)工作中,我們經(jīng)常會遇到要獲取某些元素,以達到更新該元素的樣式、內(nèi)容等目的。而文檔對象模型 (DOM) 是HTML和XML文檔的編程接口,它提供了對文檔的結構化的表述,并定義了一種方式可以使從程序中對該結構進行訪問,從而改變文檔的結構,樣式和內(nèi)容。DOM 將文檔解析為一個由節(jié)點和對象(包含屬性和方法的對象)組成的結構集合,它會將web頁面和腳本或程序語言連接起來。也因此,JavaScript可以通過DOM API獲取元素節(jié)點,方法有如下幾種:其中querySelector()和querySelectorAll()為ES5的元素選擇方法
1、getElementById():
接收一個參數(shù):要取得的元素的ID(區(qū)分大小寫,必須嚴格匹配),返回一個Element對象(也可看作是動態(tài)NodeList集合,只是集合中只包含一個匹配的元素,但也會實時反映DOM節(jié)點的變化),若當前文檔中擁有特定ID的元素不存在則返回nul。
語法:
element = document.getElementById(id);
示例:刪除
<body> <div id="myDiv"> <p class="myP">hello world</p> <p class="myP">hello dolby</p> <p class="myP">hello dot</p> <p class="myP">hello bean</p> </div> <script> var div = document.getElementById("myDiv"); console.log(div); //(1) var body=document.querySelector('body'); body.removeChild(div); console.log(body); //(2) </script></body>//(1)處打印值 <div id="myDiv"> <p class="myP">hello world</p> <p class="myP">hello dolby</p> <p class="myP">hello dot</p> <p class="myP">hello bean</p> </div>//(2)處打印值<body> <script> var div = document.getElementById("myDiv"); console.log(div); //(1) var body=document.querySelector('body'); body.removeChild(div); console.log(body); //(2) </script></body>示例:
<!DOCTYPE html><html><head> <title>getElementById example</title> <script> function changeColor(newColor) { var elem = document.getElementById("para1"); elem.style.color = newColor; } </script></head><body> <p id="para1">Some text here</p> <button onclick="changeColor('blue');">blue</button> <button onclick="changeColor('red');">red</button></body></html>getElementById()方法不會搜索不在文檔中的元素。當創(chuàng)建一個元素且分配ID后,必須要使用insertBefore()或其他類似的方法把元素插入到文檔中之后才能使用 getElementById() 獲取到:
var element = document.createElement("div");element.id = 'testqq';var el = document.getElementById('testqq'); // el will be null!
新聞熱點
疑難解答
圖片精選