我想只获得匹配元素的索引。就像我有' .get'很少TR的课程。我想根据' .get'进行索引。例如。 fiddle
.get 0
.get 1
.get 2
<table>
<tr class="get"><td>view</td></tr>
<tr><td>view</td></tr>
<tr class="get"><td>view</td></tr>
<tr><td>view</td></tr>
<tr><td>view</td></tr>
<tr><td>view</td></tr>
<tr class="get"><td>view</td></tr>
</table>
$('tr.get').click(function(){
alert($(this,'.get').index())
})
答案 0 :(得分:2)
如果选择器字符串作为参数传递,则.index()返回一个整数,指示jQuery对象中第一个元素相对于选择器匹配的元素的位置。
使用
$('.get').index(this);
答案 1 :(得分:1)
或者,您可以直接在处理程序中附加索引。如果你有动态数据,它将会失败,但是如果你有大量的数据会更快,因为它不会每次都重新计算索引。
$('.get').each(function(index) {
$(this).click(function() {
alert(index);
})
})
答案 2 :(得分:0)
<强> JS 强>
$('.get').click(function () {
alert($(this, '.get').index())
})
<强> HTML 强>
<table>
<tr class="get">
<td>view</td>
</tr>
<tr>
<td>view</td>
</tr>
<tr class="get">
<td>view</td>
</tr>
<tr>
<td>view</td>
</tr>
<tr>
<td>view</td>
</tr>
<tr>
<td>view</td>
</tr>
<tr class="get">
<td>view</td>
</tr>
</table>