如何按行和列索引设置单元格的值?

时间:2016-08-10 14:25:39

标签: javascript jquery

到目前为止,我有这个,但它不会改变单元格值:

function setCellValue(tableId, rowId, colNum, newValue)
{
    $('#'+tableId).find('tr#'+rowId).find('td:eq(colNum)').html(newValue);
};

1 个答案:

答案 0 :(得分:3)

通过连接索引( :eq() 索引中的0 开始)创建选择器。虽然您需要对行选择器执行相同的操作,因为rowIdtr的索引而不是id

function setCellValue(tableId, rowId, colNum, newValue)
{
    $('#'+tableId).find('tr:eq(' + (rowId - 1) + ')').find('td:eq(' + (colNum - 1) + ')').html(newValue);
};

或使用 :nth-child() 伪类选择器。

function setCellValue(tableId, rowId, colNum, newValue)
{
    $('#'+tableId).find('tr:nth-child(' + rowId + ')').find('td:nth-child(' + colNum + ')').html(newValue);
};

或使用单一选择器避免使用 find() 方法。

function setCellValue(tableId, rowId, colNum, newValue)
{
    $('#' + tableId + ' tr:nth-child(' + rowId + ') td:nth-child(' + colNum + ')').html(newValue);
    // or
    $('#' + tableId + ' tr:eq(' + (rowId - 1) + ') td:eq(' + (colNum - 1) + ')').html(newValue);
};