Tabellen Zeile Einfärben

Status
Nicht offen für weitere Antworten.

manuko

Grünschnabel
Sers,
Ich möchte gerne bei hover die Tabellen Zeile (<tr>) einfärben.

Bisher habe ich diesen Script hier gebaut.
Also im CSS Teil:
PHP:
.hoveron { background-color:#CCCCCC;}
  .hoverout { background-color:#000000;}

dann in der Tabelle:
PHP:
 <tr onMouseOver="this.className='hoveron'" onMouseOut="this.className='hoverout'"> 
   <td class="jo2" width="190">test</td> 
   <td class="jo3" width="190">test</td> 
   </tr>

Das ganze funktioniert aus unerklärlichen Gründen nicht. Wenn ich das Ganze hinter ein <td> gebe funktioniert es super. Aber ich will eben die gesamte Zeile (<tr>)
Wieso klappt das nicht?
 
Probier mal folgendes:
HTML:
[…]

<style type="text/css">
	.over { background-color:#CCCCCC;}
	.out { background-color:#000000;}
</style>
<script type="text/javascript">
	function init() {
		var tableRows = document.getElementsByTagName("tr");
		for(var i=0; i<tableRows.length; i++) {
			tableRows[i].onmouseover = new Function("var i=0; var _c = this.childNodes; for(i; i<_c.length; i++) { if(_c[i].nodeName.toLowerCase()=='td') { _c[i].className='over'; } }");
			tableRows[i].onmouseout = new Function("var i=0; var _c = this.childNodes; for(i; i<_c.length; i++) { if(_c[i].nodeName.toLowerCase()=='td') { _c[i].className='out'; } }");
		}
	}
	window.onload=init;
</script>

[…]

<table>
<tr>
	<td>test</td>
	<td>test</td>
</tr>
</table>

[…]
 
Hallo manuko,

du hast vergessen, dem <tr>-Element seine CSS-Klasse .hoverout zu geben:

Code:
<tr class="hoverout" onMouseOver="this.className='hoveron'" onMouseOut="this.className='hoverout'"> 
   <td class="jo2" width="190">test</td> 
   <td class="jo3" width="190">test</td> 
   </tr>
 
Ok, es lag zwar auch an dem class="..." im <tr> aber bedeutend war, dass ich in den <td> Abschnitten ebenfalls Klassen angegeben habe, drum hats nicht geklappt.
Danke
 
Status
Nicht offen für weitere Antworten.
Zurück