1

次のようなネストされた div 要素がいくつかあります。

<div class="main">
    blah blah blah <div class="clickme">clickme</div>
</div>

<div class="main">
    bleh bleh bleh <div class="clickme">clickme</div>
</div>

<div class="main">
    blih blih blih <div class="clickme">clickme</div>
</div>

クラスの子タグ内の対応するテキストをクリックしてdiv、クラスでマークされたものを表示/非表示にするトグルイベントを発生させたいと思います。申し訳ありませんが、これを行う方法がわかりません。ありがとう。"main"clickmediv"clickme"

4

1 に答える 1

10
$(".clickme").click(function() {
    $(this).parent("div.main").toggle();
});

2 番目の問題に関しては、以下を追加する必要があります。

$(this).unbind('click');

トグル機能のいずれかの最後で、意図したとおりに機能します。幸運を。

編集:あなたの最新の問題に対応して、これでうまくいくはずです:

$(".abrefecha").click( function() {
    var that = this; // save this in that :)
    jQuery(this).parent().toggle(
        function () {
            var itemId = jQuery(this).attr("id");
            var itemIndex = $(".showhide").index(this);
            var currentItemHeight = b[itemIndex] + 30 + 'px'
            jQuery(this).css("overflow","auto");
            jQuery(this).animate( { height: currentItemHeight } , 500 );
            $(that).html('close'); // change html inside pink to 'close'
            $(this).unbind('click');
        },
        function () {
            jQuery(this).css("overflow","hidden")
            jQuery(this).animate( { height:"60px" } , 500 );
            $(that).html('abrefecha'); // change html back to 'abrefecha'
            $(this).unbind('click');
        }
    );
});
于 2009-01-16T01:13:51.823 に答える