XML DOM ændre nodens værdi

nodeValue Egenskaber bruges til at ændre nodens værdi.

setAttribute() Metoden bruges til at ændre egenskabsværdien.

Ændre elementets værdi

I DOM er alt en node. Elementnoden har ingen tekstværdi.

Tekstværdien af elementnoder gemmes i undernoden. Denne node kaldes tekstnode.

for at ændre elementets tekstværdi, skal værdien af elementets tekstnode ændres.

ændre værdien af tekstnoden

nodeValue egenskaben kan bruges til at ændretekstnodens værdi.

Følgende kode ændrer værdien af tekstnoden for det første <title>-element:

eksempel 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "潮菜天下"

Prøv det selv

Eksempel forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc Kinesisk
  2. hent første undernode af <title>-elementet
  3. ændr værdien af denne tekstnodens nodevalue til "潮菜天下"

eksempel 2

gennemløb og ændr tekstnoden for alle <title>-elementer:

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

Prøv det selv

ændre egenskabsværdien

I DOM er egenskaber også noder. Forskellig fra elementnoder har egenskabsnoder tekstværdier.

metoden til at ændre egenskabsværdien er at ændre dens tekstværdi.

kan ændres ved brug af setAttribute() metode eller egenskabsnodens nodeValue for at udføre denne opgave.

brug setAttribute() til at ændre egenskaben

setAttribute() metodesæt værdien af eksisterende egenskabelleroprette ny egenskab.

setAttribute() metoden kan ændre værdien af egenskaben. Hvis egenskaben ikke findes, vil der blive oprettet en ny egenskab.

Dette kodeeksempel ændrer category-egenskaben på <book>-elementet:

eksempel 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","køkkenkunst");

Prøv det selv

Eksempel forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc Kinesisk
  2. hent første <book>-element
  3. ændr værdien af "category"-egenskaben til "køkkenkunst"

eksempel 2

gennemløb alle <title>-elementer og tilføj ny egenskab:

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

Prøv det selv

Bemærk:hvis egenskaben ikke findes, vil der blive oprettet en ny egenskab (med det angivne navn og værdi).

brug nodeValue til at ændre egenskaben

nodeValue egenskaben eregenskabsnodens værdi.

ændre nodeValue egenskaben kan ændre værdien af egenskaben.

eksempel

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

Prøv det selv

Eksempel forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc Kinesisk
  2. Få "category" egenskaben for den første <book> element
  3. Ændr værdien af egenskabsnoden til "Kogning"