jQuery:如何获取选择数组中元素的索引
jQuery: how to get the index of an element in the selection array?
我有一个这样的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-s,在这里总共得到了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) );
});
看看
.index() 的 jquery 文档。您可以按如下方式修改代码以获得所需的结果:
$('.container').on("click", "a", function(){
console.log ( $("a").index($(this)));
});
$('a').click(function(){
$("#result").text($('a').toArray().indexOf(this));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>
<div id="result"></div>
相关文章:
- Jquery 读取编号组中选择下拉列表的数组
- Javascript:从数组中的对象中选择属性
- Javascript没有从数组中选择背景颜色
- 如何从数组中选择特定标记
- 使用JavaScript或jQuery检查单选按钮选择是否与数组中的项目匹配
- jquery从多维数组中进行动态相关选择
- 如何在javascript中使用click函数选择数组元素
- 构建HTML选择字段并使用JavaScript数组选择选项
- 将增量计数器连接到 JSON 响应循环中的数组选择器的末尾
- 使用 jQuery 使用 id 数组选择元素
- Jquery循环数组选择器与自定义元素ID的
- 转换后的 JSON 数组选择
- 对象数组-选择数组子集,其中对象属性为值数组
- knockoutjsforeach数组选择项值绑定
- 数组选择中的Javascript对象
- 按属性值的数组选择器函数
- 警告JS数组选择
- Javascript 和 HTML mix(数组选择)
- 作为jquery变量的值数组选择器
- 统一更新数组选择值