JQuery - get(0) undefined

JQuery - get(0) undefined

本文关键字:undefined get JQuery      更新时间:2023-09-26

>我有这个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) 未定义

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

试试这个:

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

.next()将需要与.nextUntil相同的治疗

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

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