×
XML DOM 教程DOM 简介DOM 节点DOM 节点树DOM 解析DOM 加载函数DOM 方法DOM 访问DOM 节点信息DOM 节点列表DOM 遍历DOM 浏览器DOM 导航DOM 获取节点DOM 改变节点DOM 删除节点DOM 替换节点DOM 创建节点DOM 添加节点DOM 克隆节点DOM XMLHttpRequestDOM 节点类型DOM NodeDOM NodeListDOM NamedNodeMapDOM DocumentDOM DocumentImplDOM DocumentTypeDOM ProcessingInstDOM ElementDOM AttributeDOM TextDOM CDATADOM CommentDOM XMLHttpRequestDOM ParseError ObjDOM 解析器错误DOM 总结DOM 实例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> 元素的文本节点值:

实例

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"

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)