2012-08-16 59 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获得一个或者没有。