1

我有这个 HTML 结构:

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

});

我有错误说 get(0) 未定义。- 类型错误:currentTab.prev("img").get(0) 未定义

4

2 回答 2

5

.prev如果它与选择器匹配,则获取前一个元素,而不是与选择匹配的前一个元素。

试试这个:

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

.next()将需要与.nextUntil

您还应该进行一些检查,以防止在第一次出现错误时按上一个。

于 2012-08-16T20:11:00.697 回答
0

你不需要调用 get(0) 因为 prev 得到一个或没有。

于 2012-08-16T20:11:48.293 回答