我有一个 twitter bootstrap 轮播:
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div class="item">
<div id="container"></div>
</div>
<div class="item active">
<div id="container2"></div>
</div>
<div class="item">
<div id="container3"></div>
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">«</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">»</a>
</div>
现在,当我点击时,例如。一个按钮。我想要具有 class = 'active' 的项目的索引。在此示例中,它将是第二个 div,因此索引 = 1(从 0 开始)。
要获取 class = "active"的 div,我这样做:
var activediv = $('.item').find('.active');
但是当我想像这样找到元素的索引时:
var index = activediv.index();
我总是在控制台中得到“-1”,所以他找不到该项目......但为什么?
有人知道我做错了什么吗?
最佳答案
.index()是包装元素中的函数。
此外,active
不是 item
的后代,它是 item
元素的附加过滤器 - 因此您需要使用 .filter()
而不是 .find()
var activediv = $('.item').filter('.active');//or $('.item.active')
var index = activediv.index();
关于javascript - 获取类等于 active 的 div 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18786266/