$("input").on("click", function(){
//how do i find the the input index here?
});
我没有尝试执行以下操作,而是尝试找到一种更聪明的方法。 有什么好主意吗?
$("input").eq(0).on("click", function(){
//do something for eq(0)
});
$("input").eq(1).on("click", function(){
//do something for eq(1)
});
最佳答案
您需要使用index
功能。有两种调用方法。
如果所有元素都是兄弟元素
如果所有元素都是同一父元素的兄弟元素,并且该父元素中没有其他元素,则可以使用 $(this).index()
。
当不带任何参数调用 index
时,它会获取该元素在其同级元素中的位置。因此父级的第一个子级将是 0
,第二个 1
,依此类推。
如果元素不都是同级元素
如果文档结构更复杂,那么您将必须在特定的集合中进行搜索。这意味着选择要搜索的所有元素,然后将要搜索的元素作为第一个参数传递。这就像您在数组上执行 indexOf
搜索一样。
var inputs = $("input").on("click", function(){
console.log(inputs.index(this));
});
关于jquery - 在为数组中的每个 jquery 对象绑定(bind)事件时,有什么方法可以找到 jquery 对象索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17071360/