Javascript 在类中找不到元素的索引
我有3个选择元素,类为“status”,如下所示:Javascript 在类中找不到元素的索引,javascript,jquery,Javascript,Jquery,我有3个选择元素,类为“status”,如下所示: <select class = "status"> <option value ='completed'>Completed></option> <option value = 'Inprogress'>In progress</option> </select> <select class = "status"> <opti
<select class = "status">
<option value ='completed'>Completed></option>
<option value = 'Inprogress'>In progress</option>
</select>
<select class = "status">
<option value ='completed'>Completed></option>
<option value = 'Inprogress'>In progress</option>
</select>
<select class = "status">
<option value ='completed'>Completed></option>
<option value = 'Inprogress'>In progress</option>
</select>
但是我找不到类中已更改的select标记的索引。请帮助..使用$(此)
$(“.status”).change(函数(){
console.log($(this.index())
})
已完成>
进行中
已完成>
进行中
已完成>
进行中
最好在旁边添加其他类
<select class = "status class1">
<option value ='completed'>Completed></option>
<option value = 'Inprogress'>In progress</option>
</select>
<select class = "status class2" >
<option value ='completed'>Completed></option>
<option value = 'Inprogress'>In progress</option>
</select>
已完成>
进行中
已完成>
进行中
$(“.status”).change(function(){if($(this).is(.class1”))})代码将应用于任何
.status
元素更改。在JS中,此
始终引用触发事件的当前元素。因为在这种情况下,这将是一个单一的项目,因此不会有一个索引本身。但是在JQuery中,您将使用index()
。我建议这样写,这样您就可以在需要时使用事件委托
$(“.status”).on('change',function(){
log($(this));
log($(this.index());
});代码>
已完成>
进行中
已完成>
进行中
已完成>
进行中
为什么需要索引?您可以使用this
,即$('.status')直接引用元素。在('change',function(){console.log(this)})
上,我尝试了'this'参数,它不断给我一个错误,我认为可能有一个DOM方法可以正确地执行此操作。非常感谢你,菲尔!我会使用$(this.index('.status')
将范围限制在问题中的元素,有很多方法可以捕获索引。谢谢你的选择。