DOM 更改节点值
-
定义和使用
在DOM中,一切都是节点。 元素节点没有文本值。元素节点的文本值存储在子节点中。 该节点称为文本节点。要更改元素的文本值,必须更改元素的文本节点的值。nodeValue 属性可用于更改文本节点的值。setAttribute() 方法用于更改属性值。假设 books.xml 已加载到 xmlDoc 中。此代码更改第一个<title>元素的文本节点值:
尝试一下xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "新的内容"
示例说明:- 假设 “books.xml” 已加载到 xmlDoc 中
- 获取 <title> 元素的第一个子节点
- 将节点值更改为“新的内容”
遍历并更改所有<title>元素的文本节点:自己尝试一下 -
更改属性的值
在 DOM 中,属性是节点。 与元素节点不同,属性节点具有文本值。更改属性值的方法是更改其文本值。这可以使用 setAttribute() 方法或设置属性节点的 nodeValue 属性来完成。 -
使用 setAttribute() 更改属性
setAttribute() 方法更改属性的值。如果该属性不存在,则会创建一个新属性。此代码更改<book>元素的category属性:
尝试一下xmlDoc.getElementsByTagName("book")[0].setAttribute("category","food");
示例说明:- 假设 “books.xml” 已加载到 xmlDoc 中
- 获取第一个<book>元素
- 将 "category" 属性值更改为 "food"
遍历所有<title>元素并添加新属性:自己尝试一下注意:如果属性不存在,则会创建一个新属性(具有指定的名称和值)。
-
使用 nodeValue 更改属性
nodeValue 属性是属性节点的值。更改 value 属性将更改属性的值。
尝试一下xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "food";
示例说明:- 假设 “books.xml” 已加载到 xmlDoc 中
- 获取第一个<book>元素的 “category” 属性
- 将属性节点值更改为 "food"