molily: getElementById().getElementById()

Beitrag lesen

Hallo,

document.getElementById("listenIDWrapper").getElementById("listenID").getElementsByTagName("li")[0];


>   
> Das funktioniert aber leider nicht. Ist es nicht möglich, zweimal getElementById anzugeben?  
  
Nein. getElementById ist eine Methode von Document-Knoten, nicht von Element-Knoten. Bei getElementsByTagName z.B. ist das anders – die Methode existiert bei document und einzelnen Elementen.  
  
Für solche komplexen Abfragen kannst du [document.querySelector](https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector)([All](https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll)) verwenden. Diese Methoden nehmen CSS-Selektoren entgegen.  
  
Beispiel:  
  
`var el = document.querySelector('#listenIDWrapper #listenID li:first-child');`{:.language-javascript}  
  
[Browserunterstützung](http://caniuse.com/queryselector) beachten. Für ältere Browser würde ich zu etablierten Selektor-Engines wie [Sizzle](http://sizzlejs.com/) raten. Sizzle ist Teil von [jQuery](http://jquery.com/).  
  
Mathias

-- 
[Chaplin.js - JavaScript application architecture on top of Backbone.js](http://chaplinjs.org/)