Der Martin: DOM auf class eines div zugreifen

Beitrag lesen

Hi,

ich möchte per Javascript auf einen div zugreifen, welches lediglich einen Klassennamen besitzt. Nachfolgenden Code möchte ich dafür verwenden:

var cssKnoten = document.getElementsByTagName("div")[0].getAttributeNode("class");

for each(var knoten in cssKnoten) {
if(knoten == "meinKlassenname") {
alert("Element gefunden");
var meinElement = knoten;
}
}

  
das kann nicht funktionieren - du greifst auf das erste div-Element im Dokument zu und besorgst dir eine Referenz auf dessen class-Attributknoten.  
Diesen Attributknoten willst du dann weiter durchsuchen. Seltsam ...  
  

> Leider wird das alert nicht ausgegeben.  
  
Das hätte mich auch sehr verwundert, denn ein Attributknoten hat selbst keine weiteren Kindknoten.  
  
Ich würde einfach über die div-Elemente im Dokument iterieren und jeweils deren Klassennamen abfragen:  
  
 ~~~javascript
var divlist = document.getElementsByTagName("div");  
 for (var i=0; i<divlist.length; i++)  
  { if (divlist[i].className && divlist[i].className="klasse")  
     { alert("Gefunden!");  
       DoSomethingWith(divlist[i]);  
     }  
  }

Das ist sicher verbesserungsfähig - aber der Codeschnipsel berücksichtigt sowohl den Fall, dass mehrere div-Elemente mit dem gesuchten Klassennamen existieren, als auch den, dass kein solches Element existiert (dann passiert einfach nichts).

So long,
 Martin

--
Wenn der Computer wirklich alles kann,
dann kann er mich mal kreuzweise.