1

我有一组图像用作幻灯片放映。我正在使用的 javascript 查看哪个图像上有 .active 类,以了解正在显示哪个图像。问题是,jQuery 的 .index() 函数没有像我期望的那样工作。因此对于:

<div id="Phase1">    
    <img src="_images/Phase1-Slide1.jpg" alt="1" class="active">
    <img src="_images/Phase1-Slide2.jpg" alt="2">
    <img src="_images/Phase1-Slide3.jpg" alt="3">
    <img src="_images/Phase1-Slide4.jpg" alt="4">
    <img src="_images/Phase1-Slide5.jpg" alt="5">
    <img src="_images/Phase1-Slide6.jpg" alt="6">
</div>

相关的javascript:

// works fine
var i = $(".active").index("img");
alert(i);  

// does not work
var i = $(".active").index("#Phase1 img");
alert(i);  

我需要能够指定父 div,因为我正在使用 2 个幻灯片,它们每个都有不同的活动图像和不同的图像总数。

我尝试了所有不同的方法,但无法让它与父 div 一起使用。这是小提琴:http: //jsfiddle.net/mBVpc/

4

2 回答 2

2

试试这个:

$('#Phase1 img.active').index();
于 2012-05-16T16:03:51.543 回答
1

我想你想要这个:

var i = $("#Phase1 .active").index("img");

原因是index()在基于选择器的元素集合上调用它,因此您必须在尝试获取索引之前进行所需的选择(在这种情况下,.activeid 为 的 div 中的类元素#Phase1,即我们的选择器返回什么)。

于 2012-05-16T16:05:10.590 回答