-2
<!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];

4

1 に答える 1

0

あなたは何をしようとしているのですか ?

<TR> <TD>??のすべてのコンテンツを取得します。またはテーブル/行に入力しますか? またはテーブルのループ、テーブル要素の収集、および/またはストライプ行 ですか?

より詳しい情報。あなたの質問に答えるために本当に必要です。

于 2012-06-25T14:26:34.970 に答える