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) が未定義であるというエラーがあります。- TypeError: 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

prevは1つまたは何も取得しないため、get(0)を呼び出す必要はありません。

于 2012-08-16T20:11:48.293 に答える