[JS] OnSelect anderen css style für ein td

quicksilver

Lt. Junior Grade
Dabei seit
Jan. 2004
Beiträge
363
Ich suche nach einer Möglichkeit den Tabellenhintergrund eines td's ändern zu lassen sobald ich eine Checkbox in der Zeile auswähle. Ich habe dort 2 verschiedene css styles. einmal z.b. class=table und on select möchte ich dann das die class=tablesecond ist.

Kann mir da wer helfen ?


Danke euch
 

mh1001

Lt. Commander
Dabei seit
Nov. 2003
Beiträge
2.039
Hallo,

der entsprechende Event-Handler und
Code:
document.getElementById('id').className
sollten dir bei deinem Problem helfen. ;)

MfG mh1001
 
M

Mr. Snoot

Gast
Hey, sowas hab ich auchmal gesucht. Hat auch geklappt - zu 50%. Wenn man die Checkbox wieder abwählt bleibt die geänderte Hintergrundfarbe aber erhalten. Wie lös ich das?
HTML:
<input type="checkbox" onclick="document.getElementById('1').style.backgroundColor='#000';">

<table>
  <tr>
    <td id="1">abc</td>
  </tr>
</table>
Sah ungefähr so aus :)
 

mh1001

Lt. Commander
Dabei seit
Nov. 2003
Beiträge
2.039
Hallo Gauder,

probiere es einmal damit:

Code:
function aendere_bg(element)
{
  if(document.getElementById(element).style.backgroundColor == '#000')
  {
    document.getElementById(element).style.backgroundColor = '#FFF';
  }
  else
  {
    document.getElementById(element).style.backgroundColor = '#000';
  }
}
und
HTML:
<input type="checkbox" onclick="aendere_bg('beispiel');">

<table>
  <tr>
        <td id="beispiel">abc</td>
  </tr>
</table>

Btw: Nach dem HTML-Standard dürfen id-Bezeichner nicht mit einem numerischen Zeichen anfangen. ;)

MfG mh1001
 
M

Mr. Snoot

Gast
Hui,

das klappt ja wunderbar (auch mit meiner '1' :p). Mal wieder saubere Arbeit mh1001 :daumen:
 

quicksilver

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
363
Ui danke. Hier wird ja das element id genutzt. Ist das auch mit einer "Class" möglich??? und wenn ja wie?
 

Benjamin_L

Commander
Dabei seit
Dez. 2004
Beiträge
2.505
dazu musst du erst eine neue Funktion einführen:

Code:
function getElementsByClass(klasse){

  	var class_arr = new Array();
  	var all_tags = document.getElementsByTagName("*");

  	for(i=0; i<all_tags.length; i++){

    		if(all_tags[i].className == klasse){

			class_arr.push(all_tags[i]);
    		}
  	}

  	return class_arr;
}
und dann halt document.getElementByClass(klasse)....
 

AlbertLast

Lieutenant
Dabei seit
Juni 2002
Beiträge
715
Ich würde dir zur hover funktion von css raten problem bei dem ding ist leider das ie 6 prob damit hat (ie 7) nicht mehr aber scheiss drauf ..
 

quicksilver

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Jan. 2004
Beiträge
363
hm also mein problem ist ich habe halt eine List. Also eine Tabelle mit mehreren Zeilen. Und die zeilen haben global per css z.b. gbcolor lightgrey und jeder 2. bekommt bei der ausgabe per php class="tablesecond" zugewiesen. Nun möchte ich aber per js onklick den bg verändern ;( das script oben funktioniert zwar. Aber das problem ist das dann die 2. zeile dann auch beim delesect nicht mehr die farbe vom tablesecond hat ;(
 
Top