Ik heb een stuk code dat nu prima werkt in IE, Opera en Konqueror. Helaas is Firefox nog een spelbreker.
Alle rijen (met itemRow="true") hebben in de eerste cell een hidden input field. Hiervan wil ik de waarde veranderen.
Debuggen leert me dat children undefined is als ik dit in Firefox uitvoer. Ik heb daarna zitten zoeken en kwam childNodes tegen (alsmede firstChild), maar deze hebben een probleem: Spleasure in "\[XML/DOM/JS] undefined in Firefox". Ik mag deze indenting niet weghalen, dus childNodes en firstChild zijn anders in IE enerzijds (het input element) en Opera, Konqueror en Firefox anderzijds (de tekst ervoor).
Ik wil graag de code zo simpel mogelijk houden, zonder allerlei case statements voor verschillende browsers oid. Is dit mogelijk?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| function setItemOrder(table) { var rows = table.getElementsByTagName("tr"); var order = 0; for (i = 0; i < rows.length; i++) { if (rows[i].getAttribute("itemRow")) { var cell = rows[i].cells[0]; var input = cell.children[0]; input.value = order; order++; } } } |
Alle rijen (met itemRow="true") hebben in de eerste cell een hidden input field. Hiervan wil ik de waarde veranderen.
Debuggen leert me dat children undefined is als ik dit in Firefox uitvoer. Ik heb daarna zitten zoeken en kwam childNodes tegen (alsmede firstChild), maar deze hebben een probleem: Spleasure in "\[XML/DOM/JS] undefined in Firefox". Ik mag deze indenting niet weghalen, dus childNodes en firstChild zijn anders in IE enerzijds (het input element) en Opera, Konqueror en Firefox anderzijds (de tekst ervoor).
Ik wil graag de code zo simpel mogelijk houden, zonder allerlei case statements voor verschillende browsers oid. Is dit mogelijk?
More than meets the eye
There is no I in TEAM... but there is ME
system specs