html表使用javascript选择单元格

时间:2014-07-25 14:06:27

标签: javascript html css

我使用java脚本生成了一个动态html表。现在我需要让用户点击单元格的css类。

我该怎么做?

以下是代码:

function generateSeatMatrix() {
    var rows = parseInt(document.getElementById('txtRows').value);
    var cols = parseInt(document.getElementById('txtCols').value);
    if (!validateMatrixInput(rows, cols)) {
        // TODO display error message
        return;
    }
    var matrixTable = document.getElementById('tblMatrix');
    if (matrixTable.rows.length > 0) {
        for (var k = matrixTable.rows.length - 1; k >= 0; k--) {
            matrixTable.deleteRow(k);
        }
    }
    for (var i = 0; i < rows; i++) {
        matrixTable.insertRow(i);
        for (var j = 0; j < cols; j++) {
            matrixTable.rows[i].insertCell(j);
            matrixTable.rows[i].cells[j].className = 'matrix-cell';
            matrixTable.rows[i].cells[j].setAttribute('onclick', 'hello()');
        }
    }
}

'hello()'函数应该处理所需的逻辑。现在,该函数被正确调用,但我不知道如何获取所选的单元格css类。实际上,我试图将该位置发送为声明事件(使用setAttribute),但随后出现错误。

2 个答案:

答案 0 :(得分:1)

我看到你正在尝试添加一个onclick,但是如果你创建了一些jquery就可以了。但你必须加载jQuery。虽然如果你动态构建它,你可能需要使用$('document')。find('td')。这可能不是您正在寻找的解决方案,但可以完成工作。

$('td').on('click', function(){ 
    var myClass = this.className; 
})

尝试添加评论但不会显示代码视图。

答案 1 :(得分:0)

以下是如何轻松处理这个问题。

 matrixTable.rows[i].cells[j].setAttribute('onclick', 'hello(' + i + ',' + j + ')');

干得好!