jQuery:child为其父元素触发事件

Mar*_*que 1 javascript jquery toggle

我有几个嵌套的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>
Run Code Online (Sandbox Code Playgroud)

我想通过单击其子div标签中带有"clickme"类的相应"clickme"文本来触发切换事件,该事件将显示/隐藏标有"main"类的div.对不起,我无法弄清楚如何做到这一点.谢谢.

Pao*_*ino 10

$(".clickme").click(function() {
    $(this).parent("div.main").toggle();
});
Run Code Online (Sandbox Code Playgroud)

关于您的第二个问题,您需要添加:

$(this).unbind('click');
Run Code Online (Sandbox Code Playgroud)

在任何一个切换功能结束时,它将按您的意图运行.祝好运.

编辑:为了回应您的最新问题,应该这样做:

$(".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');
        }
    );
});
Run Code Online (Sandbox Code Playgroud)