JQuery - get(0)undefined

时间:2012-08-16 20:08:08

标签: javascript jquery get

我有这个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)未定义。 - TypeError:currentTab.prev(“img”)。get(0)未定义

2 个答案:

答案 0 :(得分:5)

.prev获取前一个元素 IF 它与选择器匹配,而不是前一个元素 THAT 与选择器匹配。

试试这个:

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

.next()需要与.nextUntil

进行相同的处理

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

答案 1 :(得分:0)

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