<!Doctype html>
<html>
<head>
<script type="text/javascript">
//script 1 - making array
var tableDom = document.getElementsByTagName('table')[0];
var tr = tableDom.getElementsByTagName('tr');
var table = new Array(new Array(9), new Array(9), new Array(9)) ;
for (i=0; i < 3; i++){
for (j=0; j<3; j++){
var table[i][j] = tr[i].getElementsByTagName('td')[j];
}
}
function be(){
alert(table[0][0].innerHTML);//test
}
</script>
</head>
<body onload="be();">
<table border cellspacing="1px;" width="100%">
<tr>
<td>x
<td>A
<td>B
</tr>
<tr>
<td>1
<td><input/>
<td><input/>
</tr>
<tr>
<td>1
<td><input/>
<td><input/>
</tr>
</table>
</body>
</html>
7行の下のChromeでは
キャッチされていない TypeError: 未定義のメソッド 'getElementsByTagName' を呼び出せません。そして 15 行の下に "Uncaught TypeError: Cannot read property '0' of undefined.
そして Firefox では:
tableDom は未定義です
var tr = tableDom.getElementsByTagName('tr');
テーブルが定義されていません
アラート (テーブル [0] [0].innerHTML);
お願い助けて!何が問題なのか今はわかりません。JS からテーブルの値を制御し、ループごとに配列を定義しています。次のことに気付きました。
var table[i][j] = tr[i].getElementsByTagName('td')[j];