目录

XML DOM 更改节点值


nodeValue 属性用于更改节点值。

setAttribute() 方法用于更改属性值。


更改元素的值

在 DOM 中,一切都是节点。元素节点没有文本值。

元素节点的文本值存储在子节点中。该节点称为文本节点。

要更改元素的文本值,必须更改元素的文本节点的值。


更改文本节点的值

这个节点值属性可以用来改变文本节点的值

此代码更改第一个 <title> 元素的文本节点值:

示例

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = " new content"
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 获取<title>元素的第一个子节点
  3. 将节点值更改为“新内容

循环并更改所有 <title> 元素的文本节点:亲自试一试



更改属性的值

在 DOM 中,属性就是节点。与元素节点不同,属性节点具有文​​本值。

更改属性值的方法是更改​​其文本值。

这可以使用 setAttribute() 方法或设置属性节点的 nodeValue 属性来完成。


使用 setAttribute() 更改属性

这个设置属性()方法更改属性的值

如果该属性不存在,则创建一个新属性。

此代码更改 <book> 元素的类别属性:

示例

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","food");
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 获取第一个 <book> 元素
  3. 将 "category" 属性值更改为 "food"

循环遍历所有 <title> 元素并添加新属性:亲自试一试

笔记:如果该属性不存在,则会创建一个新属性(具有指定的名称和值)。


使用 nodeValue 更改属性

这个节点值属性是属性节点的值

更改 value 属性会更改属性的值。

示例

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "food";
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 获取第一个 <book> 元素的 "category" 属性
  3. 将属性节点值更改为"food"