在表格行中获取tds onclick的零基础索引

时间:2012-08-08 07:06:00

标签: javascript jquery

你有一个有很多行的表

第一行有<th>个,然后以下所有行都包含<td> s

如果我使用下面的脚本并单击第一行并带有<td> s,我会收到一条警告,说明1.如何在不减去一个的情况下将其设为零。我认为使用“has(td)”会起作用吗?

$('td').click(function(){

   var s = $(this).parents('table tr:has(td)').index();
   alert(s);

});

<table border="1" width="400px" height="200px">
    <tr>
        <th></th><th></th><th></th><th></th><th></th>
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td> if I click here it must alert 0
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td> if I click here it must alert 1
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td> if I click here it must alert 2
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td> if I click here it must alert 3
    </tr>
    <tr>
        <td></td><td></td><td></td><td></td><td></td> if I click here it must alert 4
    </tr>

</table>

1 个答案:

答案 0 :(得分:4)

将a选择器传递给.index()以过滤出兄弟姐妹

$('td').click(function(){
    var s = $(this).parent().index('tr:has(td)');
    alert(s);
});​

http://jsfiddle.net/nAhE3/