DOM 取得節點
XML DOM 取得節點值
nodeValue 屬性用於取得節點的文字值。
getAttribute() 方法傳回屬性的值。
取得元素的值
在 DOM 中,每個成分都是節點。元素節點沒有文字值。
元素節點的文字儲存在子節點中。此節點稱為文字節點。
取得元素文字的方法,就是取得這個子節點(文字節點)的值。
取得元素值
getElementsByTagName() 方法傳回包含擁有指定標籤名稱的所有元素的節點列表,其中的元素的順序是它們在來源文件中出現的順序。
下面的程式碼透過使用loadXMLDoc() 把"books.xml" 載入xmlDoc 中並檢索第一個<title> 元素:
x=xmlDoc.getElementsByTagName("title")[0];
childNodes 屬性傳回子節點的清單。 <title> 元素只有一個子節點。它是一個文字節點。
下面的程式碼檢索<title> 元素的文字節點:
y=x.childNodes [0];
nodeValue 屬性傳回文字節點的文字值:
#實例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>你好世界!</p> <div id="main"> <p> DOM 是非常有用的。</p> <p>该实例展示了 <b>getElementsByTagName</b> 方法</p> </div> <script> var x=document.getElementById("main"); var y=x.getElementsByTagName("p"); document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML); </script> </body> </html>
執行實例»
點擊"運行實例" 按鈕查看線上實例
結果:txt = "Everyday Italian"
遍歷所有<title> 元素:試試
取得屬性的值
在DOM 中,屬性也是節點。與元素節點不同,屬性節點擁有文字值。
取得屬性的值的方法,就是取得它的文字值。
可以透過使用 getAttribute() 方法或屬性節點的 nodeValue 屬性來完成這個任務。
取得屬性值 - getAttribute()
getAttribute() 方法傳回屬性值。
下面的程式碼檢索第一個<title> 元素的"lang" 屬性的文字值:
實例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); for (i=0;i<x.length;i++) { document.write(x[i].getAttribute('category')); document.write("<br>"); } </script> </body> </html>
#運行實例»
點擊"運行實例" 按鈕查看線上實例
結果:txt = "en"
實例解釋:
使用loadXMLDoc() 把"books.xml" 載入xmlDoc
#把txt 變數設定為第一個title 元素節點的"lang" 屬性的值
遍歷所有的<book> 元素,並且取得它們的"category" 屬性:試試看
取得屬性值- getAttributeNode()
getAttributeNode() 方法傳回屬性
。
下面程式碼檢索第一個<title> 元素的"lang" 屬性的文字值:
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang"); txt=x.nodeValue; document.write(txt); </script> </body> </html>######## ##執行實例»######點擊"運行實例" 按鈕查看線上實例#########結果:Result: txt = "en"######實例解釋:### #########使用loadXMLDoc() 把"books.xml" 載入xmlDoc 中############取得第一個<title> 元素節點的"lang" 屬性節點############把txt 變數設定為屬性的值#############遍歷所有的<book> 元素並取得它們的"category" 屬性:試試看#############