選擇元素
所有HTML元素都是對象。而且我們知道每個(gè)對象都有屬性和方法。
文檔對象具有允許您選擇所需HTML元素的方法。
這三種方法最常用于選擇HTML元素:
//通過 id 找元素 document.getElementById(id) //通過 class 找元素 document.getElementsByClassName(name) //通過 tag 找元素 document.getElementsByTagName(name)
在下面的示例中,getElementById 方法用于選擇 id="demo" 的元素并更改其內(nèi)容:
提示: 以上示例假定HTML包含 id="demo" 的元素,例如<div id ="demo"></div>
ob = document.getElementById("");.innerHTML = "Hi";
使用DOM
DOM中的每個(gè)元素都有一組屬性和方法,它們提供有關(guān)它們在DOM中的關(guān)系的信息:
element.childNodes 返回一個(gè)元素的子節(jié)點(diǎn)的數(shù)組。
element.firstChild 返回元素的第一個(gè)子節(jié)點(diǎn)。
element.lastChild 返回元素的最后一個(gè)子節(jié)點(diǎn)。
element.hasChildNodes 如果元素有任何子節(jié)點(diǎn),則返回 true,否則為 false 。
element.nextSibling 返回相同樹級別的下一個(gè)節(jié)點(diǎn)。
element.previousSibling 返回在同一樹級別的上一個(gè)節(jié)點(diǎn)。
element.parentNode 返回元素的父節(jié)點(diǎn)。
例如,我們可以選擇元素的所有子節(jié)點(diǎn)并更改其內(nèi)容:
<html> <body> <div id ="demo"> <p>一些文本</p> <p>另一些文本 </p> </div> <script> var a = document.getElementById("demo"); var arr = a.childNodes; for(var x=0;x<arr.length;x++) { arr[x].innerHTML = "新的文本"; } </script> </body> </html>
var arr = document. getElementsByTagName("");
alert(arr[].innerHTML);
選擇元素
getElementsByClassName() 方法通過類名查找所有元素,并將其作為數(shù)組返回。
例如,如果我們的HTML頁面包含三個(gè)元素與 class="demo",以下代碼將返回所有這些元素作為一個(gè)數(shù)組:
<div class="demo"> <span class="demo">Hi I'm Loen!</span> </div> <p class="demo">This is a paragraph</p> <script> var arr = document.getElementsByClassName("demo"); //訪問第二個(gè)元素 arr[1].innerHTML = "Hi I am Peter"; </script>
類似地,getElementsByTagName 方法返回指定標(biāo)簽名稱的所有元素,作為數(shù)組返回。
以下示例獲取頁面的所有段落元素并更改其內(nèi)容:
<p>hi</p> <p>hello</p> <p>hi</p> <script> var arr = document.getElementsByTagName("p"); for (var x = 0; x < arr.length; x++) { arr[x].innerHTML = "Hi there"; } </script>
腳本將HTML改變成:
<p>Hi there</p> <p>Hi there</p> <p>Hi there</p>