javascript - jQuery:如何获取选择数组中元素的索引?

标签 javascript jquery frontend

我有一个这样的 HTML 结构:

<div class="container">
  <div class="item">
    <a href="#">1</a>
    <a href="#">2</a>
    <a href="#">3</a>
  </div>
  <div class="item">
    <a href="#">4</a>
    <a href="#">5</a>
    <a href="#">6</a>
  </div>
</div>

我用jQuery选择了所有的A,这里一共得到了6个对象。我想获取 6 数组中 A 的索引(例如,这样我可以检测到哪个 A 已被单击),但是当我使用 .index() 时,我得到了元素相对于其父元素的索引。因此,对于第 5 个 A,我得到与第 2 个相同的索引,因为第 5 个实际上是其 div.item 中其组中的第二个:

$('a').click(function(){
    console.log ( $(this).index() ); // returns "1" for the 5th A
});

那么有没有办法在选择的数组中获取被点击元素的索引,而不是在 DOM 的父元素中?

最佳答案

您可以将点击的元素传递给 index 方法:

var $a = $('.container > .item > a').click(function() {
    console.log ( $a.index(this) ); 
});

关于javascript - jQuery:如何获取选择数组中元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952509/

相关文章:

Javascript 时间戳无效

javascript - jQuery 模态窗口仅适用于 Chrome,但不适用于 FF 和 IE9

jquery - Wordpress 中错误消息的可访问性、表单验证

twitter-bootstrap - 如何使用 CDN 在 bootstrap 4 中创建新断点?

reactjs - 类型 'TableInstance{}' 上不存在 react 表分页属性

ruby-on-rails - 保护 Rails 后端服务器免遭直接连接

javascript - 使用 perl 登录 https 站点

javascript - 将两个 int 存储在 long 中

javascript - 我如何将 csrf_token 包含到 dropzone Post 请求(Django)

php - 使用 PHP 变量并在 Jquery/Ajax 页面加载请求中使用它