Mathias Brodala: Eigener XML-Baum für DOM-Zugriff

Beitrag lesen

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)]