Javascript 获取表行中tds onclick的从零开始的索引
嗨,我有一张有很多行的桌子 第一行包含Javascript 获取表行中tds onclick的从零开始的索引,javascript,jquery,Javascript,Jquery,嗨,我有一张有很多行的桌子 第一行包含s,接下来的所有行都包含s 如果我使用下面的脚本并单击第一行中的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"&g
s,接下来的所有行都包含
s
如果我使用下面的脚本并单击第一行中的
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>
$('td')。单击(函数(){
var s=$(this).parents('table tr:has(td)').index();
警报;
});
如果单击此处,它必须向0发出警报
如果我点击这里,它必须提醒1
如果我点击这里,它必须提醒2
如果我点击这里,它必须提醒3
如果我点击这里,它必须提醒4
将a选择器传递到.index()
以筛选出同级
$('td').click(function(){
var s = $(this).parent().index('tr:has(td)');
alert(s);
});
将a选择器传递到
.index()
以筛选出同级
$('td').click(function(){
var s = $(this).parent().index('tr:has(td)');
alert(s);
});
错误的标记。您在
标记之外写入文本依赖$(this).parent().index()-1
比任何包含选择器和:has
或:contains
或其他任何内容的解决方案都要有效。我也发现它更容易阅读。(但是您的代码不起作用,因为不带参数的.index()
返回元素相对于DOM中同级元素的索引,而不是相对于jQuery对象中的其他元素的索引。)标记错误。您在
标记之外写入文本依赖$(this).parent().index()-1
比任何包含选择器和:has
或:contains
或其他任何内容的解决方案都要有效。我也发现它更容易阅读。(但是您的代码不起作用,因为不带参数的.index()
返回元素相对于DOM中同级元素的索引,而不是相对于jQuery对象中的其他元素的索引。)