Lista de nós DOM

getElementsByTagName() métodos e childNodes a propriedade pode retornar uma lista de nós.

Lista de nós DOM

Ao usar childNodes ou getElementsByTagName() Quando se usa propriedades ou métodos como, retorna um objeto NodeList.

O objeto NodeList representa uma lista de nós, cuja ordem é a mesma que a do XML.

Os nós na lista NodeList podem ser acessados através de índices começando em 0.

A figura a seguir representa books.xml Lista de nós do elemento <title>:

Lista de nós DOM

Suponha que "books.xml" já tenha sido carregado na variável xmlDoc.

Este trecho de código retorna a lista de nós do elemento title no arquivo "books.xml":

x = xmlDoc.getElementsByTagName("title");

Após a execução das frases acima, x se torna um objeto NodeList.

O seguinte trecho de código retorna o texto do primeiro elemento <title> na lista de nós (x):

Exemplo

var txt = x[0].childNodes[0].nodeValue;

Experimente você mesmo

Após a execução das sentenças acima, txt = "雅舍谈吃".

comprimento da lista de nós

O objeto NodeList manterá suas próprias atualizações. Se você deletar ou adicionar elementos, a lista será atualizada automaticamente.

A lista de nós length Os atributos são o número de nós na lista.

Este código retorna a quantidade de elementos <title> em "books.xml":

x = xmlDoc.getElementsByTagName('title').length;

Após a execução da sentença acima,x é 5.

O comprimento da lista de nós pode ser usado para percorrer todos os elementos da lista.

Este código usa length loop de atributos para percorrer a lista de elementos <title>:

Exemplo

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i < xLen; i++) {
    txt += (x[i].childNodes[0].nodeValue) + " ";
}

Experimente você mesmo

Exemplo de Explicação:

  1. Supondo books.xml já foi carregado xmlDoc
  2. Definir a variável x para armazenar a lista de nós de todos os elementos <title>
  3. Obter o valor do nó de texto da tag <title>

Lista de atributos DOM (named node map)

da nó de elemento attributes Atributos retornam uma lista de nós de atributos.

Isto é chamado de mapeamento de nó nomeado (named node map), semelhante à lista de nós, mas com métodos e atributos diferentes.

A lista de atributos também será mantida atualizada. Se você deletar ou adicionar atributos, a lista será atualizada automaticamente.

Este código retorna a lista de nós de atributos da primeira tag <book> em "books.xml":

x = xmlDoc.getElementsByTagName('book')[0].attributes;

Após a execução do código acima,x.length igual à quantidade de atributos, pode ser usado x.getNamedItem() Retorna um nó de atributo.

Este código obtém o valor do atributo "category" do primeiro livro e a quantidade de atributos:

Exemplo

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Experimente você mesmo

Exemplo de Explicação:

  1. Supondo books.xml carregado para xmlDoc
  2. Definir a variável x para salvar a lista de todos os atributos do primeiro elemento <book>
  3. Obter o valor do atributo "category" e o comprimento da lista de atributos