jQuery - 在其更改处理程序中查找当前select元素的行号

lov*_*iji 11 jquery html-table

我有一张桌子.在这个表中有select元素.如何在select的事件处理程序中找到select元素的哪个表行:

$('#selectElemID').live('change', function(){...});
Run Code Online (Sandbox Code Playgroud)

谢谢

kar*_*m79 36

编辑(两年后):请不要按照我之前描述的方式进行,因为表行已经具有rowIndex属性,所以完全没有浪费,所以不需要计算任何东西:

$('#selectElemID').live("change", function (){
    alert($(this).closest("tr")[0].rowIndex);
});
Run Code Online (Sandbox Code Playgroud)

演示.

<silliness>

如果你想要当前select元素的行号(这是我从问题中理解的),这应该这样做:

$('#selectElemID').live('change', function(){
    alert($(this).closest("tr").prevAll("tr").length + 1);
});
Run Code Online (Sandbox Code Playgroud)

解释:

$(this).closest("tr")
Run Code Online (Sandbox Code Playgroud)

表示选择tr此select元素的最近父元素.

.prevAll("tr").length + 1
Run Code Online (Sandbox Code Playgroud)

表示选择所有之前的行,并获取返回集合的长度.将其递增1以获取当前行号,因为我们总共先前行+ 1.

欲获得更多信息:

</silliness>