查找并訪問節(jié)點
你可通過若干種方法來查找您希望操作的元素:
通過使用 getElementById() 和 getElementsByTagName() 方法
通過使用一個元素節(jié)點的 parentNode、firstChild 以及 lastChild 屬性
getElementById() 和 getElementsByTagName()
getElementById() 和 getElementsByTagName() 這兩種方法,可查找整個 HTML 文檔中的任何 HTML 元素。
這兩種方法會忽略文檔的結(jié)構(gòu)。假如您希望查找文檔中所有的 <p> 元素,getElementsByTagName() 會把它們?nèi)空业?,不? <p> 元素處于文檔中的哪個層次。同時,getElementById() 方法也會返回正確的元素,不論它被隱藏在文檔結(jié)構(gòu)中的什么位置。
這兩種方法會像您提供任何你所需要的 HTML 元素,不論它們在文檔中所處的位置!
getElementById() 可通過指定的 ID 來返回元素:
getElementById() 語法
document.getElementById("ID");
注釋:getElementById() 無法工作在 XML 中。在 XML 文檔中,您必須通過擁有類型 id 的屬性來進行搜索,而此類型必須在 XML DTD 中進行聲明。
getElementsByTagName() 方法會使用指定的標簽名返回所有的元素(作為一個節(jié)點列表),這些元素是您在使用此方法時所處的元素的后代。
getElementsByTagName() 可被用于任何的 HTML 元素:
getElementsByTagName() 語法
document.getElementsByTagName("標簽名稱");
或者:
document.getElementById('ID').getElementsByTagName("標簽名稱");
實例 1
下面這個例子會返回文檔中所有 <p> 元素的一個節(jié)點列表:
document.getElementsByTagName("p");
實例 2
下面這個例子會返回所有 <p> 元素的一個節(jié)點列表,且這些 <p> 元素必須是 id 為 "maindiv" 的元素的后代:
document.getElementById('maindiv').getElementsByTagName("p");
節(jié)點列表(nodeList)
當我們使用節(jié)點列表時,通常要把此列表保存在一個變量中,就像這樣:
var x=document.getElementsByTagName("p");
現(xiàn)在,變量 x 包含著頁面中所有 <p> 元素的一個列表,并且我們可以通過它們的索引號來訪問這些 <p> 元素。
注釋:索引號從 0 開始。
您可以通過使用 length 屬性來循環(huán)遍歷節(jié)點列表:
var x=document.getElementsByTagName("p"); for (var i=0;i<x.length;i++) { // do something with each paragraph }
您也可以通過索引號來訪問某個具體的元素。
要訪問第三個 <p> 元素,您可以這么寫:
var y=x[2];
parentNode、firstChild以及l(fā)astChild
這三個屬性 parentNode、firstChild 以及 lastChild 可遵循文檔的結(jié)構(gòu),在文檔中進行“短距離的旅行”。
請看下面這個 HTML 片段:
<table> <tr> <td>John</td> <td>Doe</td> <td>Alaska</td> </tr> </table>
在上面的HTML代碼中,第一個 <td> 是 <tr> 元素的首個子元素(firstChild),而最后一個 <td> 是 <tr>元素的最后一個子元素(lastChild)。
此外,<tr> 是每個 <td>元 素的父節(jié)點(parentNode)。
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)