Zmiana wartości węzła w XML DOM

nodeValue Atrybuty służą do zmiany wartości węzła.

setAttribute() Metoda służy do zmiany wartości atrybutu.

Zmiana wartości elementu

W DOM wszystko jest węzłem. Węzły elementowe nie mają wartości tekstowej.

Wartość tekstowa węzła elementu przechowywana jest w podwęzłach. Ten węzeł nazywa się węzłem tekstowym.

Aby zmienić wartość tekstową elementu, należy zmienić wartość węzła tekstowego elementu.

zmiana wartości węzła tekstowego

nodeValue Atrybut można użyć do zmianywartość węzła tekstowego.

Poniższy kod zmienia wartość węzła tekstowego pierwszego elementu <title>:

Przykład 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "świat potraw morskich"

Spróbuj sam}}

Przykład wyjaśnienia:

  1. Załóżmy books.xml zostanie xmlDoc Środek
  2. Pobierz pierwszy węzeł podrzędny elementu <title>
  3. Zmień wartość węzła tekstowego tego tekstu na "świat potraw morskich"

Przykład 2

przechodzenie przez wszystkie elementy <title> i zmiana wartości węzłów tekstowych:

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

Spróbuj sam}}

zmiana wartości atrybutu

W DOM, atrybuty są również węzłami. W przeciwieństwie do węzłów elementowych, węzły atrybutów mają wartość tekstową.

zmiana wartości atrybutu polega na zmianie jego wartości tekstowej.

można użyć setAttribute() metoda lub węzeł atrybutu nodeValue aby wykonać to zadanie.

zmiana atrybutu za pomocą setAttribute()

setAttribute() metodaustawienie wartości istniejącego atrybutu, lubtworzenie nowego atrybutu.

setAttribute() Metoda może zmieniać wartość atrybutu. Jeśli atrybut nie istnieje, tworzy nowy atrybut.

Ten kod zmienia atrybut category elementu <book>:

Przykład 1

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

Spróbuj sam}}

Przykład wyjaśnienia:

  1. Załóżmy books.xml został załadowany do xmlDoc Środek
  2. Pobierz pierwszy element <book>
  3. Zmień wartość atrybutu "category" na "kuchnia"

Przykład 2

Przechodzenie przez wszystkie elementy <title> i dodawanie nowych atrybutów:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","pierwsza edycja");    
}

Spróbuj sam}}

Uwaga:Jeśli atrybut nie istnieje, zostanie utworzony nowy atrybut (z określonym nazwą i wartością).

zmiana atrybutu za pomocą nodeValue

nodeValue Atrybut jestwartość atrybutu węzła atrybutu.

zmiana nodeValue Atrybut może zmieniać wartość atrybutu.

Przykład

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

Spróbuj sam}}

Przykład wyjaśnienia:

  1. Załóżmy books.xml został załadowany do xmlDoc Środek
  2. Pobierz atrybut "category" pierwszego elementu <book>
  3. Zmień wartość atrybutu węzła atrybutu na "gotowanie"