1

divJQueryをトリガーするアンカーへの近さに基づいてクラス名を持つ複数のを表示/非表示にしようとしています。表示したいdivの参照方法に問題があると思います。

私はここにフィドルを持っています:http://jsfiddle.net/lizfulghum/qKMH8/4/ そして私は問題がこの行にあると仮定しています:JQuery(this).next(".full").show();

完全なコードは次のとおりです。

HTML

<div class="teaser">
    Blah blah blah
    <a href="#" class="toggle">Toggle</a>
</div>

<div class="full">
    Full Text Goes Here
</div>

<div class="teaser">
    Blah blah blah
    <a href="#" class="toggle">Toggle</a>
</div>

<div class="full">
    Full Text 2 Goes Here
</div>

Javascript

jQuery(document).ready(function() {
    jQuery(".full").hide();
    jQuery(".toggle").click(function() {
        JQuery(".full").hide();
        JQuery(this).next(".full").show();
  });
});

誰かがこの点について私に教えてもらえますか?

4

2 に答える 2

2

2回タイプミスしましjQueryた。また、呼び出す前にDOMツリーの1つ上のレベルに移動する必要があります.next()

//                             \/ aliases jQuery back to $
jQuery(document).ready(function($) {
    $(".full").hide();
    $(".toggle").click(function() {
        $(".full").hide();
        $(this).parent().next(".full").show();
    });
});

フィドル

DOMReadyスコープ内にエイリアスjQueryしました-DOMReadyハンドラー$の最初のパラメーターはjQueryオブジェクト自体を受け取ります。入力が速く、タイプミスの可能性が低くなります。この構文は、WPやその他のシナリオでも安全に使用できます。$.noConflict()

もちろん、グローバル$を使用するライブラリが他になく、jQueryをnoConflictモードにするフレームワークを使用していない場合は、そのまま使用する$代わりに使用できjQueryます。

于 2013-01-22T21:38:38.817 に答える
1

parent()を追加しました。したがって、トラバーサルは機能します。

$(document).ready(function() {
    $(".full").hide();
    $(".toggle").click(function() {
        $(".full").hide();
        $(this).parent().next(".full").show();
  });
});

http://jsfiddle.net/qKMH8/5/

于 2013-01-22T21:39:05.500 に答える