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.
Wenn der Computer wirklich alles kann,
dann kann er mich mal kreuzweise.