2012-08-16 29 views
1

我有這樣的HTML結構:JQuery的 - 讓(0)未定義

<div id="navigation"> 
    <div id="accordion"> 
     <!-- 1st header and pane --> 
     <img src="horisontalTabsAccordion/images/button1.jpg" /> 
     <div style="width:200px; display:block"><h3>Apolonija, zubarska ordinacija</h3><p>Nesto pise malo vise malo manje :)</p></div> 

     <!-- 2nd header and pane --> 
     <img src="horisontalTabsAccordion/images/button2.jpg" /> 
     <div><h3>Apolonija, zubarska ordinacija</h3><p>Nesto pise malo vise malo manje :)</p></div> 

     <!-- 3rd header and pane --> 
     <img src="horisontalTabsAccordion/images/button3.jpg" /> 
     <div><h3>Apolonija, zubarska ordinacija</h3><p>Nesto pise malo vise malo manje :)</p></div> 

     <!-- 4th header and pane --> 
     <img src="horisontalTabsAccordion/images/button4.jpg" /> 
     <div><h3>Apolonija, zubarska ordinacija</h3><p>Nesto pise malo vise malo manje :)</p></div> 
    </div> 
    <div id="buttons"> 
     <a href="#" class="btn-prev"><div class="previous-icon"></div></a> 
     <a href="#" class="btn-next"><div class="next-icon"></div></a> 
    </div> 
</div> 

我想添加按鈕激活下一個和當前選項卡的以前的選項卡。當前的圖像元素具有「當前」類。

的,我寫JS具有這種形式:

$(document).ready(function(e) { 
var currentTab = $('#accordion').find('img.current'); 

$('.btn-prev').bind('click', function(){ 
    currentTab.prev('img').get(0).click(); 
    console.log("Previous"); 

    return false; 
}); 

$('.btn-next').bind('click', function(){ 
    currentTab.next('img').get(0).click(); 
    console.log("Next"); 

    return false; 
}); 

});

我有錯誤,說是得到(0)未定義。 - 類型錯誤:currentTab.prev( 「IMG」)得到(0)是未定義

+0

我沒有看到任何具有'current'類的'img'元素。這個類是在你的代碼中的某個地方應用的嗎? – jackwanders 2012-08-16 20:10:02

回答

5

.prev獲得前一個元素IF它的選擇,而不是以前的元素THAT選擇匹配匹配。

試試這個:

currentTab.prevUntil('img').prev().get(0) 

.next()將需要相同的治療.nextUntil

你也應該做一些檢查,以防止錯誤時,你是第一個按以前。

+0

你應該是英語專業的,先生! – jbabey 2012-08-16 20:12:16

+0

+1不錯先生...正確的點.. – thecodeparadox 2012-08-16 20:12:16

+0

@ user1461006我沒有看到你在哪裏改變圖像的類到當前或不是當前 – 2012-08-16 20:37:43

0

你不需要調用get(0),因爲prev獲得一個或者沒有。