Leere Tabllenfelder -> andere farbe
henningw
- javascript
0 EKKi
Hi,
Also ich möchte, dass leere Zellen einer Tabelle eine andere Hintergrundfarbe bekommen.
Mit leer mein ich, dass es praktisch <td></td> im HTML code ist.
Mein Code funktioniert aber nur im IE, nicht bei Mozilla, und wenn sich nur ein Bild oder ein Link im Feld befinden funktioniert es auch nicht.
CSS:
table.ausgabe td.emptycell { background-color: #EEEEEE; }
HTML:
<form name="rowsDeleteForm"> <table class="ausgabe"> <tr> ......... </tr> </table>
[
JS:
window.onload=emptycells;
function emptycells(){
var lines = document.rowsDeleteForm.getElementsByTagName('td');
for ( var i = 0; i < lines.length; i++ )
{
dest = true;
if (lines[i].hasChildNodes())
{var children = lines[i].childNodes;
for (var k = 0; k < children.length; k++){
if (children[k].nodeType == 3){
if (children[k].data != "" )
{dest = false; }
}
}
}
if (dest){
try { lines[i].setAttribute("class", 'emptycell');} catch (E){}
//Mozilla
try { lines[i].setAttribute("className", 'emptycell');} catch (E){}};
//IE
}
}
Ich hoffe irgendjemand kann mir helfen, den Code zu verbessern.
Mfg Henning W.
Mahlzeit henningw,
if (dest){
try { lines[i].setAttribute("class", 'emptycell');} catch (E){}
//Mozilla
try { lines[i].setAttribute("className", 'emptycell');} catch (E){}};
//IE
}
Wieso so kompliziert? Dafür gibt's die Standardeigenschaft <http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#universaleigenschaften@title=className> - mit setAttribute() zu arbeiten, ist im Normalfall nicht sinnvoll.
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|