如何在不编写显式for循环的情况下在jQuery操作中引用结果索引?

时间:2016-02-25 00:00:12

标签: jquery

我想在jQuery操作中引用和使用元素的索引。

这样的事情:

$('a').attr('data-index', ?magic?);

预期结果是:

<a data-index='0' ....>....</a>
<a data-index='1' ....>....</a>
//....
<a data-index='length-1' ....>....</a>

虽然使用显式的for循环来完成这个操作是微不足道的,但我只是想知道是否有更有效的方法。

1 个答案:

答案 0 :(得分:1)

元素的索引不是真正需要放入属性,因为您可以在循环中使用dom集合轻松获取索引或使用index()方法

我建议不要添加属性,因为它可以随任何dom操作而改变并抛弃所有这些属性值

var $links = $('a');

$links.click(function(){
  alert( $links.index(this) );
});

$links.each(function(index){
   console.log(index);
});

$links.text(function(index, oldText){
   return oldText + ' my index is ' + index;
});