0

JavaScript の学習を始めたばかりで、テーブルにセルを挿入するのに問題があります。3 つのセルからなる 1 行のテーブルがあり、クリックしたセルの左側に新しいセルを挿入したいのですが、[挿入] ボタンをクリックした後でのみです。

テーブルの HTML は次のとおりです。

<table border="1" id="table1">
    <tr id="row1">
        <td id="c1" onclick="c1()">Cell 1</td>
        <td id="c2" onclick="c2()">Cell 2</td>
        <td id="c3" onclick="c3()">Cell 3</td>
    </tr>
</table>
<br>
<button onclick="insert()">Insert</button>

セル 2 で行ったように手動でセル インデックスを指定すると問題なく動作しますが、セル 3 で行っているようにセルのインデックスを検出しようとすると、インデックス 0 に新しいセルが挿入されるだけです。

JavaScript:

var cell1=false,
    cell2=false,
    cell3=false,
    x;


function c1() {
    cell1=true;
}
function c2() {
    cell2=true;
}
function c3() {
    cell3=true;
    x=getElementById("c3").cellIndex;
}
function insert() {
    if (cell1==true) {
        // Not used yet
    }
    if (cell2==true) {
        document.getElementById("table1").rows[0].insertCell(1).innerHTML="New1";
    }
    if (cell3==true) {
        document.getElementById("table1").rows[0].insertCell(x).innerHTML="New3";
    }
    cell1=false;
    cell2=false;
    cell3=false;
};

c3()関数と関数の両方でいくつかのバリアントを試しましたinsert()が、毎回まったく挿入されないか、インデックス 0 に挿入されます。

ちなみに、純粋な JavaScript でこれをやろうとしています。

4

1 に答える 1

0

Javascript コンソールでエラーを確認する必要があります。次のように報告されます。

Uncaught ReferenceError: getElementById が定義されていません

に変更getElementByIdc3()document.getElementById、これを修正してください。

于 2013-04-03T04:23:52.057 に答える