我正在努力创建基于javascript的电子表格应用程序。现在,我可以动态地创建电子表格作为一个表格,其中包含所提供的行数和列数以及每个单元格中的文本输入,如this picture中所示。
我希望将一个泛型事件绑定到表中的所有输入,在这些输入中我能够确定触发事件的输入的行索引和列索引。像这样:
$('.spreadsheet-cell').click(function () {
var rowIndex = $(this).attr('rowIndex');
var columnIndex = $(this).attr('columnIndex');
});
我最初尝试通过在创建它时动态地将行和列索引属性添加到html输入元素来实现,但是当我在创建原始电子表格后添加行或列时,尝试移动这些属性的值会变得混乱周围。我认为我可以使该方法工作,如果它归结为它,但它似乎凌乱,我不希望与DOM混乱这么多,当我认为有可能某种方式使用jQuery来确定相关的索引父<td>
和<tr>
。
答案 0 :(得分:4)
使用jQuery .index
。在你的职能范围内:
var rowIndex = $("#table tr").index($(this).closest('tr'));
var colIndex = $("#table td").index(this);