jquery - 在为数组中的每个 jquery 对象绑定(bind)事件时,有什么方法可以找到 jquery 对象索引吗?

标签 jquery

$("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/

相关文章:

jquery - 避免点击外部时关闭下拉菜单

jQuery UI 自动完成的 jQuery 自动完成插件

设置 contentType 时 jquery ajax 不工作

jquery - 使用ajax从表单提交laravel上的数据库获取值

jquery - 悬停效果jquery

jquery - 帮助使用 jQuery 添加类

javascript - 如何在 JavaScript 中验证字符串?

jquery - YouTube订阅按钮

Javascript按钮出现动画

javascript - Jquery,从外部url检索数据并解析结果