Gernot Back: firstChild.nextSibling im IE

Beitrag lesen

Hallo Martin,

Ich hab einfach eine Abfrage gemacht, ob es das Objekt gibt:

if(document.getElementById(id).firstChild.nextSibling != null){
   document.getElementById(id).childNodes[1].style.color = "#FFFFFF";
}
else{
   document.getElementById(id).childNodes[0].style.color = "#FFFFFF";
}

Aber was ist, wenn dir mal einfällt einen HTML-Kommentar einzufügen oder vielleicht zwei Returns hintereinander im Quellcode?

Hat das erste Kind-Element, das du dir greifen willst, einen bestimmten TagName? Dann geh lieber über

  
document.getElementById(id).getElementsByTagNames('deinTagName')[0]  

ansonsten mach es so:

  
var i=0;  
while(document.getElementById(id).childNodes[i].nodeName=='#text'  
|| document.getElementById(id).childNodes[i].nodeName=='#comment') {  
  i++;  
}  
document.getElementById(id).childNodes[i].style.color = "#FFFFFF";  

Gruß Gernot