Eigener XML-Baum für DOM-Zugriff
Frank
- javascript
0 Mathias Brodala0 Frank
Hallo!
Ich hätte gerne innerhalb eines selbst erstllen Objekts einen XML-Attribut gespeichert und dann auch mit einer (private) Methode angesprochen.
Wie Objekte und Methoden in JS erstellt werden ist mir soweit klar. Nur habe ich mit dem XML-Attribut Probleme.
Ich habe hier mal einen Ausschnitt:
var h1 = "<hierarchie1>" +
"<hierarachie2 name="test1" >" +
"</hierarchie1>";
var name = h1.getElementsByTagName("hierarachie2[0].getAttribute("name");
Das geht natürlich nicht, da nur document die Methode getElementsByTagName kennt.
Gibt es trotzdem eine Möglichkeit, wie ich das realisieren könnte?
Gruß
Frank
Hallo Frank.
var h1 = "<hierarchie1>" +
"<hierarachie2 name="test1" >" +
"</hierarchie1>";
var name = h1.getElementsByTagName("hierarachie2[0].getAttribute("name");
>
> Das geht natürlich nicht, da nur document die Methode getElementsByTagName kennt.
Nein, das stimmt nicht. Besagte Methode steht jedem HTML-Element zur Verfügung.
Doch der Inhalt von h1 ist lediglich eine Zeichenkette; dass diese nicht über DOM-Methoden verfügen kann, sollte klar sein.
Was du vermutlich eher möchtest, ist <http://de.selfhtml.org/javascript/objekte/document.htm#create_element@title=createElement> und <http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=appendChild>. Damit kannst du Elementobjekte erzeugen, welche über die getElementsByTagName-MEthode verfügen.
BTW:
> `var name = h1.getElementsByTagName("hierarachie2[0].getAttribute("name");`{:.language-javascript}
Vom Syntaxfehler einmal abgesehen ginge dies auch einfacher:
`var name = h1.getElementsByTagName('hierarachie2')[0].name;`{:.language-javascript}
Einen schönen Freitag noch.
Gruß, Mathias
--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]
Ja, vielen Dank Mathias. Ich schreibe schon gerade daran.
Meld mich nochmal falls es Probleme gibt.
Gruß
Frank
Hallo Frank.
var h1 = "<hierarchie1>" +
"<hierarachie2 name="test1" >" +
"</hierarchie1>";
var name = h1.getElementsByTagName("hierarachie2[0].getAttribute("name");
> >
> > Das geht natürlich nicht, da nur document die Methode getElementsByTagName kennt.
>
> Nein, das stimmt nicht. Besagte Methode steht jedem HTML-Element zur Verfügung.
>
> Doch der Inhalt von h1 ist lediglich eine Zeichenkette; dass diese nicht über DOM-Methoden verfügen kann, sollte klar sein.
>
> Was du vermutlich eher möchtest, ist <http://de.selfhtml.org/javascript/objekte/document.htm#create_element@title=createElement> und <http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=appendChild>. Damit kannst du Elementobjekte erzeugen, welche über die getElementsByTagName-MEthode verfügen.
>
> BTW:
>
> > `var name = h1.getElementsByTagName("hierarachie2[0].getAttribute("name");`{:.language-javascript}
>
> Vom Syntaxfehler einmal abgesehen ginge dies auch einfacher:
>
> `var name = h1.getElementsByTagName('hierarachie2')[0].name;`{:.language-javascript}
>
>
> Einen schönen Freitag noch.
>
> Gruß, Mathias
>