获取所选 DOM 元素的索引,返回 -1
Get index of selected DOM element return -1?
我为点击事件绑定album_item,我想获取盒子的索引。但我得到了-1。
.HTML
<div id="album_item">
<div class="box box_album_item">
<div class="album_item">a</div>
</div>
<div class="box box_album_item">
<div class="album_item">b</div>
</div>
<div class="box box_album_item">
<div class="album_item">c</div>
</div>
爪哇语
$(function () {
$(document).on('click', '.album_item', function () {
alert($(this).find('.box_album_item').index());
});
});
您正在尝试选择不存在的元素:
find()
函数搜索给定元素的子元素,在本例中为 .album_item
。所以,.album_item
下来没有任何子元素,这就是为什么它的索引是-1
相反,您必须使用 closest()
函数才能向上搜索 DOM 树:
$(document).on('click', '.album_item', function () {
alert($(this).closest('.box_album_item').index());
});
它
应该是:
alert($(this).closest('.box_album_item').index());
-
.find()
进入元素内部到子元素。 -
.closest()
向上穿越到父母。
所以在你的情况下,.box_album_item
是父级,所以应该使用.closest()
。
alert($(this).closest('.box_album_item').index());
http://jsfiddle.net/f3okr0ba/1/
$(document).on('click', '#album_item', function () {
使用 ID 代替类
相关文章:
- 在从索引位置返回的字符串中查找空白
- 使用共享工具提示时,单击Highcharts柱形图会返回不正确的序列索引
- 如何比较两个数组,然后返回差异的索引
- 在 jquery 选项卡中查找 span 标记并返回该索引
- 如何获取从循环返回的元素的索引
- 需要呈现MongoDB查询返回结果的特定索引/位置
- 通过getElementById查找所选索引是't返回正确的值
- 按流星空格键模板中的索引返回数组项
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- JavaScript:通过其他数组元素的索引访问ArrayElement?array[array[0]返回undefin
- 如果我对索引进行硬编码,它会按预期工作,为什么这个增量器会返回NAN
- 为什么不't此循环返回到第一个索引
- .children()不适用于jquery返回的指定索引
- 角度:通过数组查找其索引返回对象的内容
- 如何使用此图像轮播的索引返回实际图像
- 为什么警报在 JS 中不起作用,索引返回 -1
- 获取空格索引返回错误的值
- JavaScript正则表达式匹配将输入作为前两个索引返回
- 为什么二维数组的索引返回-1
- 按索引返回数组值,如果给定else,则返回数组