使用cellindex()来定位可能移动的单元格

时间:2013-04-03 04:13:30

标签: javascript html-table

我刚刚开始学习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>

如果我像Cell 2一样手动指定单元格索引,它可以正常工作,但如果我尝试检测单元格的索引,就像我在使用单元格3那样,它只是在索引0处插入新单元格。 / p>

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。

1 个答案:

答案 0 :(得分:0)

您需要检查Javascript控制台是否有错误,它会报告:

  

未捕获的ReferenceError:未定义getElementById

getElementById中的c3()更改为document.getElementById以解决此问题。