Hallo Kinder,
Hallo Papi
kennt ihr das? Man sitzt vor einem Problem, das eigentlich trivial zu sein scheint, aber irgendwo klemmt es mit der Lösung. Und dann schaut man in der entsprechenden Literatur nach, aber ist zu blind, um die Lösung zu finden. Was macht man da? Einen Spaziergang um den Block? Eine Runde Fernsehen? Die Wand anstarren? Hab ich probiert. Bringt nichts. Wie macht ihr das?
Kommt mir irgendwie bekannt vor.
So ging es mir heute (was für eine Überleitung!), als ich versucht habe, für eine Klasse eine Eigenschaft per JavaScript zu ändern. Also z.B. per Klick auf einen Schalter eine Menge Sachen, die alle zu einer bestimmten Klasse gehören, anzuzeigen oder auszublenden (display:none;). So. Und nu? Wat nu? Ich bin nicht draufgekommen. Stöbern in SelfHTML brachte mir nur den Hinweis, wie ich die Klasse ändern könnte, wenn die einzelnen Elemente eine Klasse oder ID hätten. Also, wenn mir da jemand einen kleinen Denkanstoß geben könnte... das wär nett :-)
Es ist ziemlich spät und nach dem Champagner bin ich auch nicht mehr so klar im Hirn: ich rate mal drauflos:
Suchst Du sowas wie document.getElementById aber für Klassen?
Das gibt's nicht, sondern nur zum Selberprogrammieren:
function getElementsByClass(class_name)
{
var all_obj, ret_obj=new Array(), j=0;
if( document.all )
all_obj=document.all;
else if( document.getElementsByTagName && !document.all )
all_obj=document.getElementsByTagName("*");
for( i=0; i<all_obj.length; i++)
{
if(all_obj[i].className==class_name)
{
ret_obj[j]=all_obj[i];
j++
}
}
eval( document.ret_obj );
return ret_obj;
}
Wars das? Naja, vielleicht hab ich Dich auch falsch verstanden, dann einen schönen Abend noch.
Louis
P.S: obige Funktion kannst Du z.B. so einbinden:
var elemente = getElementsByClass("meineklasse");
for (e=0; e<elemente.length; e++)
elemente[e].style.color = "#900"; // oder was du halt willst...