jQuery中的表行数和列数
如何使用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'>
$("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年内修改这个答案。