我手上有一个有趣的情况。也许是因为我工作这么晚所以脑子放屁,但我遇到了最奇怪的事情.index()
The problem is that when a select box change event handler gets triggered, it tries to find the index of the current select box. 如果页面上唯一的元素是选择框,那么它返回的索引是正确的。但是,如果还有其他元素,即使它们不是选择框,也会.index()
返回基于页面上总元素的索引,而不仅仅是$('select')
元素。
这是我的事件处理程序:
$('select').change(function() {
alert(
'$(\'select\').length: ' + $('select').length + "\n" +
'$(\'select\').last().index(): ' + $('select').last().index() + "\n" +
'$(this).index(): ' + $(this).index());
});
如果由于某种原因这是正确的行为,有人可以解释为什么会这样吗?
提前致谢。