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"