bei ein Knoten ein Stylke-Attribut ändern
Klara
- javascript
Hi!
function X(id, color){
var node = document.getElementById('X'+id).firstChild;
while (node != null){
node.style.backgroundColor = color;
node = node.nextSibling;
}
}
der HTML-Code sieht ungefähr so aus
<tr id="X1">
<td class="y">...</td>
<td class="y">...</td>
<td>...</td>
...
</tr>
bei jeder Spalte (td) soll die Hintergrundfarbe geändert werden
der Code läuft im IE7. Bei Firefox kommt die Meldung "node.style has no properties". Bei Opera kommt nicht mal eine Fehlermeldung in der Fehlerkonsole.
Wie kann ich die Hintergrundfarbe noch ändern?
Danke!
Klara
Hi,
var node = document.getElementById('X'+id).firstChild;
[...]
<tr id="X1">
<td class="y">...</td>
der Code läuft im IE7. Bei Firefox kommt die Meldung "node.style has no properties".
nun ja, die Whitespace-Node zwischen <tr> und <td> hat ja auch keine Properties. Dass der IE bis heute es nicht geschafft hat, diese zu erkennen, ist verdammt traurig.
Cheatah
Lieber Cheatah,
nun ja, die Whitespace-Node zwischen <tr> und <td> hat ja auch keine Properties.
... und dann wäre noch der Hinweis gut gewesen, dass man daher darauf prüfen muss, ob es sich bei node.nextSibling um eine Textnode oder ein HTML-Element handelt: Zusätzlich auf node.tagName prüfen!
Dass der IE bis heute es nicht geschafft hat, diese zu erkennen, ist verdammt traurig.
Ach was "traurig"... da fehlen einem die salonfähigen Worte für!!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi,
... und dann wäre noch der Hinweis gut gewesen, dass man daher darauf prüfen muss, ob es sich bei node.nextSibling um eine Textnode oder ein HTML-Element handelt: Zusätzlich auf node.tagName prüfen!
Und dazu wiederum wäre noch anzumerken, dass ein Kommentar im IE den tagNamen "!" und nicht etwa null ergibt! *Arrrgs*
Gruesse, Joachim
Yerf!
Und dazu wiederum wäre noch anzumerken, dass ein Kommentar im IE den tagNamen "!" und nicht etwa null ergibt! *Arrrgs*
Ehm... also das hätte ich jetzt als korrekt erwartet, oder etwa nicht?
Gruß,
Harlequin
Hellihello Menschen,
... und dann wäre noch der Hinweis gut gewesen, dass man daher darauf prüfen muss, ob es sich bei node.nextSibling um eine Textnode oder ein HTML-Element handelt: Zusätzlich auf node.tagName prüfen!
Ist die Textnode weiblich? Und was ist mit nodeType http://de.selfhtml.org/javascript/objekte/node.htm#node_type?
Ach was "traurig"... da fehlen einem die salonfähigen Worte für!!
Ist doch irgendwie typisch, dachte ich.
Dank und Gruß,
@@Felix Riesterer:
... ob es sich bei node.nextSibling um eine Textnode oder ein HTML-Element handelt: Zusätzlich auf node.tagName prüfen!
tagName?? Ich würde einfach den nodeType prüfen. Erspart auch die doppelte Überprüfung auf 'td' und 'th'.
Live long and prosper,
Gunnar
Hi,
var node = document.getElementById('X'+id).firstChild;
[...]
<tr id="X1">
<td class="y">...</td>
der Code läuft im IE7. Bei Firefox kommt die Meldung "node.style has no properties".nun ja, die Whitespace-Node zwischen <tr> und <td> hat ja auch keine Properties.
argh.... wieder darauf reingefallen :-\ so etwas ähnliches hatte ich schon einmal ...
Danke!
Klara