3

したがって、ページにこのマークアップを含むいくつかのコンテナーがあります。

        <div class="box w400">
            <div class="box-header">
                <span class="expand-collapse">expand/collapse</span>
                <h3>Heading</h3>
            </div>
            <div class="box-content">
                <p>Some content here...</p>
            </div>
        </div>

そして、.expand-collapseスパンをクリックした後、.box-content divが上下にスライド(トグル)することを達成しようとしています。

これが私が使用しているjQueryです。これを最も近い()で達成しようとしています:

        $(document).ready(function() {
            $('.expand-collapse').click(function() {
                $(this).closest('.box-content').slideToggle('slow');
            });
        });

しかし、何らかの理由で機能していません:(

4

2 に答える 2

4

これを試して:

$(document).ready(function() {
    $('.expand-collapse').click(function() {
        $(this).parent().next('.box-content').slideToggle('slow');
    });
});

これは、親 div の次の兄弟を選択します。最も近いものは使用しません。

于 2009-08-07T01:37:37.177 に答える
2

closest() は、閉じる親要素を見つけます。あなたの場合、スパンにはクラス .box-content を持つ親要素がありません。なぜ $('.box-content').slideToggle('slow'); を実行しないのですか? ??

編集:ページにこれらのいくつかがある部分を見逃しました. parent().next が機能するはずです。

于 2009-08-07T01:39:27.533 に答える