Tut getElementsByTagName wieder ALLE Kind-Knoten?
Also sagen wir, wir haben die folgende XML-Struktur:
<property>
<label>Label 1</label>
<value>value 1</label>
</property>
<property>
<label>Label 2</label>
<value>value 2</label>
</property>
<!-- more of these -->
Vorausgesetzt, wir haben richtig geladen das XML-Dokument in eine variable var xml
tut xml.getElementsByTagName("property")
ALLE zurück property
, label
, value
Knoten ODER einfach nur property
Knoten ohne Kinder?
Warum ich Frage ist dieser, ich möchte in der Lage sein, Folgendes zu tun:
var props = xml.getElementsByTagName("property");
var labels = props[0].getElementsByTagName("label");
Wenn die Funktion nicht zurück label
oder value
Knoten, was ist der beste Weg zu bekommen, dass getan?
Vielleicht möchten Sie verwenden
xml.querySelectorAll("property label")
abrufen alle label-Objekte innerhalb eines property-Objekt.InformationsquelleAutor geoff | 2013-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
getElementsByTagName
Methode "ZurückNodeList
alle NachkommeElements
mit einem bestimmten tag-Namen". SogetElementsByTagName("property")
gibt alle Kinder, Kinder, Kinder, etc., haben Sie den tag-Namenproperty
, egal was der Inhalt eines solchen Knotens ist. Es bedeutet natürlich nicht wieder alle Knoten mit verschiedenen tag-Namen.Also ja, der code
tut, was Sie scheinen zu wollen, zu tun ist: es tritt
labels
eine (live -) Liste derlabel
Kinder der erstenproperty
- element in das Dokument, vorausgesetzt, es ist mindestens eineproperty
element. (Also für Robustheit, möchten Sie vielleicht zu prüfen, wie z.B. die, dassprops.length > 0
bevor Sie fortfahren, um die zweite Anweisung.)InformationsquelleAutor Jukka K. Korpela
Versuchen, diese, dies wird Ihnen helfen,
InformationsquelleAutor S. S. Rawat