jquery $(this).index问题

html:

<div>
......省略各种层级

<span class="edit"></span>

</div>
<div>
......省略各种层级

<span class="edit"></span>

</div>
<div>
......省略各种层级

<span class="edit"></span>

</div>

js:代码

$('.edit').click(function(){

console.log($(this).index());

})

像上述的代码 打印出来都是零而不是索引 怎么解决?


一只名叫tom的猫
浏览 2908回答 6
6回答

largeQ

<span class="edit"></span><span class="edit"></span><span class="edit"></span>这种是你想要的。走索引。你那个外边包了一层div,每个div下面的edit没有关系啊

一只萌萌小番薯

$(this).index()找的是同级兄弟元素中他所在的位置,你这里应该是寻找外层div的位置吧,可以使用$(this).parents("你的选择器").index()

Qyouu

index是jquery里面比较有意思的方法$('.edit').index();表示$('.edit')jqery集合中第一个元素在他的兄弟元素排行第几$('.edit').index('div');表示$('.edit')jqery集合中第一个元素在$('div')的集合中排行第几$('div').index($('.edit'));表示$('.edit')jqery集合中第一个元素在$('div')的集合中排行第几都是根据传入的值不同实现重载

慕村9548890

试试$('.edit').index(this);

元芳怎么了

这肯定是0呀 你这在同级 你要找外层的肯定 用parents()父级.index() 你这个edit在本级中就是第一位 肯定一直打印0呀 度不在同一级

胡说叔叔

不是0才有鬼了,同级别的叫edit的元素就这一个,而且人家还有一句省略各种层级,你们1个parents怎么够嘛~~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript