XML DOM muda o valor do nó

nodeValue O atributo é usado para mudar o valor do nó.

setAttribute() O método é usado para mudar o valor do atributo.

Mudar o valor do elemento

Em DOM, tudo é nó. Os nós de elemento não têm valor de texto.

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

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

改变文本节点的值

nodeValue 属性可用于更改文本节点的值.

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

Exemplo 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "Culinária Universal"

Experimente você mesmo

Exemplo de explicação:

  1. Hipótese books.xml 被加载到 xmlDoc
  2. 获取 <title> 元素的第一个子节点
  3. 把此文本节点的节点值更改为 "Culinária Universal"

Exemplo 2

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

for (i = 0; i < x.length; i++) {
    x[i].childNodes[0].nodeValue = "texto alterado";
}

Experimente você mesmo

改变属性的值

在 DOM 中,属性也是节点。与元素节点不同的是,属性节点拥有文本值。

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

可以通过使用 setAttribute() 方法或属性节点的 nodeValue 通过属性来完成这个任务。

使用 setAttribute() 改变属性

setAttribute() 方法设置已有属性的值,或创建新属性.

setAttribute() 此方法可更改属性的值。如果该属性不存在,则创建一个新属性。

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

Exemplo 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","cozinha");

Experimente você mesmo

Exemplo de explicação:

  1. Hipótese books.xml foi carregado para xmlDoc
  2. 获取第一个 <book> 元素
  3. Alterar o valor da propriedade "category" para "cozinha"

Exemplo 2

巡回遍历所有 <title> 元素并添加新属性:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","primeira edição");    
}

Experimente você mesmo

Atenção:Se a propriedade não existir, será criado um novo atributo (com o nome e valor especificados).

Usar nodeValue para alterar a propriedade

nodeValue A propriedade éO valor do nó da propriedade.

alterar nodeValue A propriedade pode alterar o valor da propriedade.

Exemplo

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "烹饪";

Experimente você mesmo

Exemplo de explicação:

  1. Hipótese books.xml foi carregado para xmlDoc
  2. Obter a propriedade "category" do primeiro elemento <book>
  3. Alterar o valor da propriedade do nó de atributo para "cozinha"