DOM 改變節點
XML DOM 改變節點值
nodeValue 屬性用來改變節點值。
setAttribute() 方法用來改變屬性值。
試試看 - 實例
#下面的實例使用 XML 檔案 books.xml。
函數 loadXMLDoc(),位於外部 JavaScript 中,用於載入 XML 檔案。
改變元素的文字節點
本範例使用 nodeValue 屬性來改變 "books.xml" 中第一個 <title> 元素的文字節點。
透過使用 setAttribute 來改變屬性值
本例使用 setAttribute() 方法來改變第一個 <book> 的 "category" 屬性的值。
透過使用 nodeValue 來改變屬性值
本例使用 nodeValue 屬性來改變第一個 <book> 的 "category" 屬性的值。
改變元素的值
在 DOM 中,每個成分都是節點。元素節點沒有文字值。
元素節點的文字儲存在子節點中。此節點稱為文字節點。
改變元素文字的方法,就是改變這個子節點(文字節點)的值。
改變文字節點的值
nodeValue 屬性可用來改變文字節點的值。
下面的程式碼片段改變了第一個<title> 元素的文字節點值:
實例
##<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; document.write(x.nodeValue); </script> </body> </html>
運行實例»點擊"運行實例" 按鈕查看在線實例
- 使用loadXMLDoc() 把"books .xml" 載入xmlDoc 中
- 取得第一個<title> 元素的文字節點 ##把該文字節點的節點值更改為"Easy Cooking"
- 遍歷並更改所有<title> 元素的文字節點:試試
##改變屬性的值
在DOM 中,屬性也是節點。與元素節點不同,屬性節點擁有文字值。 I改變屬性的值的方法,就是改變它的文字值。 可以透過使用 setAttribute() 方法或屬性節點的 nodeValue 屬性來完成這個任務。
透過使用 setAttribute() 改變屬性
setAttribute() 方法改變現有屬性的值,或建立新屬性。 下面的程式碼改變<book> 元素的category 屬性:
#實例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","food"); document.write(x[0].getAttribute("category")); </script> </body> </html>##運行實例»點擊"運行實例" 按鈕查看線上實例
實例解釋:
使用loadXMLDoc() 把"books.xml" 載入xmlDoc
取得第一個< book> 元素
把"category" 屬性的值改為"food"
遍歷所有的<title> 元素並且加上一個新屬性:嘗試一下
注意:如果屬性不存在,則建立一個新屬性(擁有指定的名稱和值)。
透過使用nodeValue 改變屬性
nodeValue 屬性可用於變更屬性節點的值:
實例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="food"; document.write(y.nodeValue); </script> </body> </html>
執行實例»
點擊"運行實例"按鈕查看線上實例
實例解釋:
使用loadXMLDoc() 把"books.xml" 載入xmlDoc 中
#取得第一個<book> 元素的"category" 屬性
-
把該屬性節點的值改為"food"