javascript - jQuery - 通过 sibling 之间的位置(索引)识别对象

标签 javascript jquery

我想做的是根据元素在 div 中的位置来识别元素。我已经尝试了下面的代码并且它有效,但我很好奇是否有更有效的方法来执行此操作。

HTML:

<div class="container">
  <button>One</button>
  <button>Two</button>
  <button>Three</button>
</div>

<div class="result"></div>

JavaScript:

$('.container button').on('click', function(e) {
  clickedBtn = e.target;
  btnNum = 0;

  $('.container button').each(function(i) {
    if ($(this)[0] === clickedBtn)
      btnNum = i+1;
  });

  $('.result').text('Clicked button #' + btnNum);
});

最佳答案

由于您正在寻找基于 sibling 的索引,您可以调用 .index()没有任何争论。

$('.container button').on('click', function(e) {
  $('.result').text('Clicked button #' + $(this).index());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="container">
  <button>One</button>
  <button>Two</button>
  <button>Three</button>
</div>

<div class="result"></div>

关于javascript - jQuery - 通过 sibling 之间的位置(索引)识别对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26751833/

相关文章:

javascript - 仅允许使用正则表达式和字符串替换在 HTML/Javascript 中输入 1-12 和 00-59

javascript - 为什么为输入设置值在 Whatsapp 上不起作用?

javascript - 如何测试对 eventSpy 的期望

JavaScript 函数未运行

javascript - 更改要素图层中多边形的顺序? (arcgis js 4.xx)

jquery - 我需要通过jquery自动触发ajax选择颜色

javascript - 为什么当我尝试使用 Access-Control-Allow-Origin : * in the response header? 获取图像的图像数据时出现异常 18

javascript - 如何固定表格的第一列并在其余列中滚动

javascript - Jquery添加到下拉列表

javascript - 如何在第一个元素之前添加一个元素?