导读:jQuery的index()用于获取元素在同级中的索引值,有时并非从0开始。示例中,若结构为`
`包含一个`slide-hover`及其他多个`li-l`类元素,当用`$('.list-ul .list-li').hover(...)`选取时,因开头存在额外的`slide-hover`元素,导致后续`li-l`元素的索引从1起始。这是因为index()计算的是相对于所有同级元素的位置,包括非目标类型的前置兄弟节点。
jquery的index()表示:获取元素相对于同级元素的索引,来确定其索引值;所以有时获取到的index所以并不是从0开始。请看下面这段代码:
<div class="list-ul">
<div class="slide-hover"></div>
<div class="li-l"></div>
<div class="li-l"></div>
<div class="li-l"></div>
<div class="li-l"></div>
<div class="li-l"></div>
<div class="li-l"></div>
</div>
当你通过下面这段代码获取class="li-l"的索引值时就是从1开始
$('.list-ul .list-li').hover(function(e) {
var index = $(this).index();
console.log(index);
});
为什么会出现这个情况,因为开头还有一个div元素
关键词: jquery index() 误区
苏公网安备 32111202000338号