Latest web development tutorials

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> 元素的文本節點值:

實例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

嘗試一下»

實例解釋:

  1. 使用loadXMLDoc()把" books.xml "載入xmlDoc中
  2. 獲取第一個<title> 元素的文本節點
  3. 把該文本節點的節點值更改為"Easy Cooking"

遍歷並更改所有<title>元素的文本節點: 嘗試一下


改變屬性的值

在DOM 中,屬性也是節點。 與元素節點不同,屬性節點擁有文本值。 I

改變屬性的值的方法,就是改變它的文本值。

可以通過使用setAttribute() 方法或屬性節點的nodeValue 屬性來完成這個任務。


通過使用setAttribute() 改變屬性

setAttribute() 方法改變已有屬性的值,或創建新屬性。

下面的代碼改變<book> 元素的category 屬性:

實例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");

嘗試一下»

實例解釋:

  1. 使用loadXMLDoc()把" books.xml "載入xmlDoc中
  2. 獲取第一個<book> 元素
  3. 把"category" 屬性的值更改為"food"

遍歷所有的<title>元素並添加一個新屬性: 嘗試一下

注意:如果屬性不存在,則創建一個新屬性(擁有指定的名稱和值)。


通過使用nodeValue 改變屬性

nodeValue 屬性可用於更改屬性節點的值:

實例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";

嘗試一下»

實例解釋:

  1. 使用loadXMLDoc()把" books.xml "載入xmlDoc中
  2. 獲取第一個<book> 元素的"category" 屬性
  3. 把該屬性節點的值更改為"food"