返回意外值的jQuery.index()
我手头有一个有趣的情况。也许是因为我工作到这么晚才放屁,但我有一件最奇怪的事情发生在我身上,那就是返回意外值的jQuery.index(),jquery,Jquery,我手头有一个有趣的情况。也许是因为我工作到这么晚才放屁,但我有一件最奇怪的事情发生在我身上,那就是.index() 问题在于,当触发选择框更改事件处理程序时,它会尝试查找当前选择框的索引。如果页面上仅有的元素是选择框,则返回的索引是正确的。但是,如果还有其他元素,即使它们不是选择框,.index()也会根据页面上的全部元素返回索引,而不仅仅是$('select')元素 以下是我的事件处理程序: $('select').change(function() { alert(
.index()
问题在于,当触发选择框更改事件处理程序时,它会尝试查找当前选择框的索引。如果页面上仅有的元素是选择框,则返回的索引是正确的。但是,如果还有其他元素,即使它们不是选择框,.index()
也会根据页面上的全部元素返回索引,而不仅仅是$('select')
元素
以下是我的事件处理程序:
$('select').change(function() {
alert(
'$(\'select\').length: ' + $('select').length + "\n" +
'$(\'select\').last().index(): ' + $('select').last().index() + "\n" +
'$(this).index(): ' + $(this).index());
});
如果出于某种原因,这是正确的行为,有人能解释一下原因吗
提前感谢。函数返回元素相对于直接父元素的从零开始的位置,默认情况下,标记名无关紧要。使用<代码>。索引(“选择”)只考虑<代码>选择< /Cord>标签。 您必须在索引中指定选择器。< /p>
大脑放屁+1,我永远听不到足够的声音。是的,它还不允许我,说我必须等4分钟
$(document).ready(function() {
$('select').change(function() {
alert(
'$(\'select\').length: ' + $('select').length + "\n" +
'$(\'select\').last().index(): ' + $('select').last().index('select') + "\n" +
'$(this).index(): ' + $(this).index('select'));
});
});