Onderstaande functie voegt rijen met cellen toe aan een tabel. Hij doet het ook, zowel in FireFox als in IE. Echter in IE zijn ze niet zichtbaar? Dat ze wel aangemaak wordt gecontroleerd op de laatste regels van deze functie. Daar wordt het aantal cellen ge-alert() van de 1e rij.
Zowel in FF als in IE wordt hetzelfde aantal cellen ge-alert(). JS ziet de rijen dus wel, maar IE toont ze niet?
IE's debugger geeft ook geen fouten aan oid.
De complete versie is hier te zien (dus alleen zichtbaar in FF).
JavaScript:
1
2
3
| telrijen = document.all['mainTable'].getElementsByTagName("TR").length; telcellen = document.all['mainTable'].getElementsByTagName("TR")[0].getElementsByTagName("TD").length; alert('Rijen: ' + telrijen + ' / Cellen: ' + telcellen); |
Zowel in FF als in IE wordt hetzelfde aantal cellen ge-alert(). JS ziet de rijen dus wel, maar IE toont ze niet?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| function addrow(firsttime) { if(firsttime) { rowstoadd = defrows; cellstoadd = defcells; oRow = document.createElement("TR"); oCell = document.createElement("TD"); oRow.appendChild(oCell); oCell = document.createElement("TD"); oCell.innerHTML = "Naam"; oRow.appendChild(oCell); for(i=0;i<cellstoadd;i++) { oCell = document.createElement("TD"); welkeCell = "<span style='color:green'>0</span>"; oCell.innerHTML = welkeCell; oRow.appendChild(oCell); } document.all['mainTable'].appendChild(oRow); } else { rowstoadd = 1; eersterij = geefeersterij(); if(!eersterij) cellstoadd = 1; else cellstoadd = eersterij.getElementsByTagName("TD").length - 2; } for(j=0;j<rowstoadd;j++) { oRow = document.createElement("TR"); oCell = document.createElement("TD"); oCell.innerHTML = "<span>0</span>"; oRow.appendChild(oCell); oCell = document.createElement("TD"); oCell.innerHTML = welkeRow; oRow.appendChild(oCell); //oRow.id = welkIdRow; aantalrijen = document.all['mainTable'].getElementsByTagName("TR").length; for(i=0;i<cellstoadd;i++) { oCell = document.createElement("TD"); welkeCell = "<input type='text' size='3' onblur='recalc("+(i+2)+","+aantalrijen+")' />"; oCell.innerHTML = welkeCell; //oCell.id = welkIdCell; oRow.appendChild(oCell); } document.all['mainTable'].appendChild(oRow); } telrijen = document.all['mainTable'].getElementsByTagName("TR").length; telcellen = document.all['mainTable'].getElementsByTagName("TR")[0].getElementsByTagName("TD").length; alert('Rijen: ' + telrijen + ' / Cellen: ' + telcellen); } |
IE's debugger geeft ook geen fouten aan oid.
De complete versie is hier te zien (dus alleen zichtbaar in FF).
[ Voor 54% gewijzigd door netiul op 10-08-2005 13:53 . Reden: scriptje iets aangepast ]