javascript - 在 JS/JQuery 中查找 toArray 创建的数组中元素的索引

标签 javascript jquery arrays

我有一堆 class = "change"的跨度,每个跨度都有一个唯一的 id。我使用以下方法创建了这些跨度的数组:

var changesArray = $('.change').toArray()

我希望当我单击它时能够获取数组中跨度的索引。我尝试过:

$('.change').click(function(){
   var thisChange = $(this).attr('id');
   var thisChangeIndex = $.inArray(thisChange,changesArray);
});

但是我每次点击 .change 时得到的只是 -1。

我对这种类型的代码有点新手。帮忙?

最佳答案

toArray 方法说

Retrieve all the elements contained in the jQuery set, as an array.

您正在数组中寻找特定的 id - 这永远不会起作用。

如果您想要项目的索引,可以使用.index()

 $('.change').click(function(){
   var thisChangeIndex = $('.change').index(this);
   console.log(thisChangeIndex);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <span class="change">change1</span>
  <span class="change">change2</span>
  <span class="change">change3</span>
  <span class="change">change4</span>
 </div>
<div>
  <span class="change">change5</span>
  <span class="change">change6</span>
  <span class="change">change7</span>
  <span class="change">change8</span>
 </div>

关于javascript - 在 JS/JQuery 中查找 toArray 创建的数组中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100865/

相关文章:

javascript - 使用 CSS 内容和 :after to show a <span> inside an image

javascript - 如何更改与 url 相关的 JQuery 请求链接?

javascript - 省略号的解决方案 - Jquery + Bootstrap + Datatables

javascript - JQuery 将监听事件添加到 .ressized() 然后附加 DIV's

javascript - 获取图像信息的最佳实践

javascript - 您如何缩小内部和数组的 promise 功能?

ios - 在 Swift 中修改数组,(通过下标语法插入和追加)

java - 如何将数组排序为列

javascript - Array.isArray() 不适用于 NodeList。还有其他选择吗?

javascript - 如何根据对象的时间属性显示一定时间范围内的对象?