我有一张如下表格
(全屏:http://i.stack.imgur.com/7Mluq.png)
在这里你可以看到" down"某些td
上的箭头。
例如第二行和第四列的<td>
是:
<td>
<a href="doc4.html" name="doc4" target="_blank">doc4</a>
<span class="arrow"></span>
<div class="toggle" style="display: none;">
<div><a href="image_3.1.jpg" name="image" target="_blank">image</a></div>
<div><a href="testingwrongtype_2.2.gif" name="testingwrongtype" target="_blank">testingwrongtype</a></div>
<div><a href="vsd_2_1.2.png" name="vsd_2" target="_blank">vsd_2</a></div>
<div><a href="BMP_1.3.bmp" name="BMP" target="_blank">BMP</a></div>
</div>
</td>
假设用户点击&#34;第二行和第四列(即doc4)&#34;的箭头那么我想得到一些变量中的行号。
var row_clicked = 2
我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用 .parent() 或 .closest() 来获取点击tr
的父td
以及< strong> .index() 以获取此tr
的索引:
$('table tr td').click(function() {
var row_clicked = $(this).closest('tr').index(); // or $(this).parent().index();
});
答案 1 :(得分:1)
试试这个
$('table .arrow').click(function(e){
var trindex=$(this).parent().parent().index();
alert(trindex);
});
<强> SAMPLE HERE 强>
答案 2 :(得分:0)
啊,为什么你删除了我几乎完成写作的旧问题。所以我再一次对它说。
假设&#34;这&#34;是你点击的单元格
var td = this;
var i_td = 0;
while( (td = td.previousSibling) != null )
i_td++;
var i_tr = 0;
var tr = td.parentNode;
while( (tr = tr.previousSibling) != null )
i_tr++;
您点击的行是i_tr,列是i_td,您可以将其存储在上一个问题的Cookie中,然后在文档准备就绪,只需调用yourtableselector.childNodes[i_tr].childNodes[i_td]
即可获得之前点击的单元格:)
答案 3 :(得分:0)
尝试:
$('table td').click(function() {
row_clicked = $(this).closest('tr').index();
});
答案 4 :(得分:0)
您需要首先将类添加到表中,或者如果您已经使用它,则需要使用相同的类。 或者你直接使用&#39; table&#39;或表的ID。
我将提供一些小例子。
<table border='1' class='abc'>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
</table>
$('.abc').find('tr').click(function(){
console.log("row clicked "+($(this).index()+1));
});
答案 5 :(得分:0)
$('.arrow').click(function(){
console.log($(this).parent().parent().index());
});