Zmiana wartości węzła w XML DOM
- Poprzednia strona Pobieranie węzłów DOM
- Następna strona Usuwanie węzłów 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"
Przykład wyjaśnienia:
- Załóżmy books.xml zostanie
xmlDoc
Środek - Pobierz pierwszy węzeł podrzędny elementu <title>
- 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"; }
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");
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
Środek - Pobierz pierwszy element <book>
- 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"); }
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 = "烹饪";
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
Środek - Pobierz atrybut "category" pierwszego elementu <book>
- Zmień wartość atrybutu węzła atrybutu na "gotowanie"
- Poprzednia strona Pobieranie węzłów DOM
- Następna strona Usuwanie węzłów DOM