2012-05-16 74 views
1

我有一組圖像用作幻燈片放映。我正在使用的JavaScript查看哪個圖像具有.active類,以瞭解哪個圖像正在顯示。麻煩的是,jQuery的.index()函數不能像我期望的那樣工作。因此,對於:jQuery索引問題()

<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); 

我需要能夠因爲我有2張幻燈片工作指定父DIV,他們將各自有不同的活動圖像,以及不同的圖像總數。

我試過所有不同的方式,但不能讓它與父div一起工作。 這裏的小提琴:http://jsfiddle.net/mBVpc/

回答

2

試試這個:

$('#Phase1 img.active').index(); 
1

我想你想要這樣的:

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

的原因是,index()被稱爲基於一個元素的集合選擇器,所以你必須有你想要的選擇,然後再嘗試獲取索引(在這種情況下,.active div中的類元素的ID爲#Phase1,其中i我們的選擇器返回)。