Stylesheet-klasse mittels ID ändern

Maeniel

Grünschnabel
Moin :)

Ich möchte mittels onMouseOver/onMouseOut die Class eines anderen Elementes ändern.

Soweit so gut, bis auf die Fehlermeldung ;)

Fehlermeldung "Objekt erwartet"

hier der Code:
Code:
function switchborder(obj,strClassName) {
  if(document.getElementById)
   document.getElementById("detail").obj.className = strClassName;
}

und hier das MouseOver/~Out

Code:
onMouseOver="switchborder(this,\'ladderover2\');"
onMouseOut="switchborder(this,\'ladder2\';"

Ich hoffe ihr könnt mir dabei helfen :)

Gruß Maeniel
 
HTML:
function switchborder(obj,strClassName) {
    obj.className = strClassName;
}
HTML:
onMouseOver="switchborder(this,'ladderover2');"
onMouseOut="switchborder(this,'ladder2');"
 
Zuletzt bearbeitet:
Danke für das Reply :)

Allerings hilft mir das nicht weiter, da ich nicht das Element verändern will in dem der onMouseOver eingetragen ist.

zur Verdeutlichung:

links hab ich eine Tabelle in der eine Zelle das onMouseover enthällt,

rechts hab ich eine Tabelle deren CSS durch das onMouseOver in der linken Tabelle ausgetauscht werden soll.

Gruß Maeniel
 
Dann wirst du nicht drumrumkommen jeder Tabellenzeile der rechten Tabelle, die verändert werden soll eine id zu geben und mit document.getElementsById zu arbeiten. Der Funktion übergibst du dann die jeweilige id, statt this. Du könntest natürlich auch mit folgendem Array arbeiten:
tdarr = document.getElementById('detail').getElementsByTagName('td');
tdarr[intObj].className = strClassName;​
Und dann immer den passenden Index (intObj) im mouseover/out übergeben. Das ließe sich prima mit einer Schleife, die der Linken Tabelle die onmouseovers/outs zuweist verküpen, da die richtigen Indizes ja immer um einen Festen Wert wachsen. Habe mal ein Beispiel angehängt.

Was du mit deiner Funktion machst ist schlichtweg murks. Die Variable obj (also this) bezeichnet ein im ganzen Dokument eindeutiges Objekt und dieses Objekt ist nur diese eine Tabellenzelle. Wenn du jetzt document.getElementById('detail').obj schreibst ist das föllig wirr, denn diese eindeutige Tabellenzeile ist nunmal nicht Teil von dem Objekt mit der id="detail".

---
 

Anhänge

Zuletzt bearbeitet:

Neue Beiträge

Zurück