查找并訪問節點
你可通過若干種方法來查找您希望操作的元素:
通過使用getElementsByTagName()方法
通過使用一個元素節點的parentNode、firstChild以及lastChild屬性
getElementsByTagName()
getElementsByTagName()方法可在整個文檔中查找任何XML元素。
此方法會忽略文檔的結構。假如你文檔中所有<book>元素,getElementsByTagName()方法會全部找出它們,不管這些<book>元素位于哪個級別。
就是說,這個方法會給您任何您所需要的XML元素,不論它們所處的位置!
getElementsByTagName()方法會使用指定的標簽名返回所有的元素(作為一個節點列表),這些元素是您在使用此方法時所處的元素的后代。
getElementsByTagName()可用于任何XML元素:
getElementsByTagName() 語法
getElementsByTagName("tagname");
例子
下面這個例子會返回文檔中所有<book>元素的一個節點列表:
xmlDoc.getElementsByTagName("book");
節點列表
當使用某個節點列表時,我們通常會把此列表存儲在一個變量中,就像這樣:
var x=xmlDoc.getElementsByTagName("book");
現在,變量x包含著頁面中所有<book>元素的一個列表,并且我們可通過它們的索引號萊訪問這些<book>元素。
注釋:索引起始于0。
您可以通過使用length屬性來循環遍歷節點列表:
以下為引用的內容:
var x=xmlDoc.getElementsByTagName("book");
for (var i=0;i<x.length;i++)
{
// do something with each <book> element
}
您也可以通過使用索引號萊訪問某個具體的元素。
要訪問第三個<book>元素,您可以這樣寫:
var y=x[2];
parentNode、firstChild以及lastChild
屬性parentNode、firstChild以及lastChild會遵循文檔的結構,可在文檔中繼續進行短距離的旅行。
請看下面的XML片段:
以下為引用的內容:
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
在上面的XML代碼中,<title>元素是<book>元素的首個子元素(firstChild),<price>元素是<book>元素的最后一個子元素(lastChild)。
同時,<book>元素是<title>、<author>、<year>以及<price>元素的父節點(parentNode)
根節點
有一個特殊的文檔屬性可用來訪問這些標簽:
document.documentElement
此屬性可返回存在于XML和HTML文檔中的根節點。
新聞熱點
疑難解答