我试图使用$(this).index()
获取输入框的索引,但索引错误。
在谷歌中找到后,应用了$("input").index(this)
并且它起作用了。很想知道这两种方法有什么区别,为什么以前的方法不起作用。
$(this).index()
将返回相对于父元素的索引。
$("input").index(this)
根据调用 .index() 的元素集返回 pass 项的索引。
考虑这个 HTML
<table>
<tr>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
<input type="text">
</td>
</tr>
</table>
然后代码,
$("input").click(function() {
alert($(this).index());
alert($("input").index(this));
});
-
alert($(this).index());
将始终提醒 0,因为它是并且只有其父 TD 的子元素。 -
alert($("input").index(this));
将为第一个输入返回 0,为下一个输入返回 1。
查看此演示