Thomas Meinike: Zugriff auf Elemente mit bestimmter CSS-Klasse?

Beitrag lesen

Hallo,

Ich möchte per Javascript auf alle Elemente mit einer bestimmten CSS-Klasse (<...class="klassenname"...>) im Document zugreifen.
Zwar kann ich bekanntich mit document.getElementsByName zugreifen, doch müsste ich all den Elementen eine Klasse und(!) einen Namen zuordnen, was ich unelegant und überflüssig finde.

Das ist auch nur dann sinnvoll, wenn das Element ueberhaupt ueber das Attribut name verfuegt, z. B. input, select usw.
Mozilla scheint aber ueberall name-Attribute zu tolerieren.

In meinem Fall interessieren mich nur die Elemente, denen diese eine Klasse angehört.
Ich bräuchte also sowas wie:

getElementsByClass("klassenname").[x]...

Hat jemand eine Idee?

Greife ueber object.className zu, z. B. so:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test by TM 12/02</title>
<style type="text/css">
<!--
.abc
{
  color: #00C;
  background-color: #FFC;
}
.xyz
{
  color: #F00;
  background-color: #EEE;
}
-->
</style>
<script language="JavaScript" type="text/javascript">
<!--
function KlassenTauschen()
{
  var obj=document.getElementsByTagName("p");
  for(i=0;i<obj.length;i++)
  {
    if(obj[i].className=="abc")obj[i].className="xyz";
  }
}
//-->
</script>
</head>
<body>
<p class="abc">Test mit Klasse</p>
<p class="abc">Test mit Klasse</p>
<p>Test mit ohne Klasse ;-)</p>
<p class="abc">Test</p>
<p>Test mit ohne Klasse ;-)</p>
<p>Test mit ohne Klasse ;-)</p>
<p class="abc">Test</p>
<p class="abc">Test</p>
<form action="">
<input type="button" value="Klassen tauschen ..." onclick="KlassenTauschen()">
</form>
</body>
</html>

MfG, Thomas