jQuery中的表行数和列数

jQuery中的表行数和列数,jquery,Jquery,如何使用jQuery获取已单击表格单元格的行数和列数,即 $("td").onClick(function(event){ var row = ... var col = ... }); 在创建表格时,能否在单元格中输出该数据 所以你的桌子看起来像这样: <table> <thead>...</thead> <tbody> <tr><td data-row='1' data-column='1'>

如何使用jQuery获取已单击表格单元格的行数和列数,即

$("td").onClick(function(event){
   var row = ...
   var col = ...
});

在创建表格时,能否在单元格中输出该数据

所以你的桌子看起来像这样:

<table>
  <thead>...</thead>
  <tbody>
    <tr><td data-row='1' data-column='1'>value</td>
      <td data-row='1' data-column='2'>value</td>
      <td data-row='1' data-column='3'>value</td></tr>

  <tbody>
</table>

最好将单击处理程序绑定到整个表,然后使用event.target获取单击的TD。这就是我所能添加的所有内容,因为它是1:20am,您可以在给定的上下文中使用该函数,例如,您可以检查其父TR中TD的索引以获得列号,您可以检查表上的TR索引以获得行号:

$('td').click(function(){
  var col = $(this).parent().children().index($(this));
  var row = $(this).parent().parent().children().index($(this).parent());
  alert('Row: ' + row + ', Column: ' + col);
});

查看一个正在运行的示例。

在我的脑海中,一种方法是抓住前面的所有元素并进行计数

$('td').click(function(){ 
    var colIndex = $(this).prevAll().length;
    var rowIndex = $(this).parent('tr').prevAll().length;
});

单击即可获取列索引:

$(this).closest("td").index();
$(this).closest("tr").index();
单击即可获取行索引:

$(this).closest("td").index();
$(this).closest("tr").index();

这些属性符合哪个html规范?我似乎找不到它们。HTML spec 5允许以前缀“data-”开头的自定义属性。即使它们不在spec中,也不会破坏旧浏览器行span上失败单击文本为“12”的单元格。列索引必须为4I在变量“data”中有一些数据……是否可以使用此列和行值将此“data”附加到表中Rowspan&COLSPAN解决方法:这使得在使用SPAN时单击有效
var row=$(this).closest('tr').index()
,虽然这可能是解决问题的一个有价值的提示,一个好的答案也说明了解决方案。请提供示例代码来说明您的意思。另一方面,请考虑把这篇文章作为评论。谢谢,我会考虑在10年内修改这个答案。