Jquery 多个类名-如何只查找下一个直接的类名?

Jquery 多个类名-如何只查找下一个直接的类名?,jquery,Jquery,我有3个相同结构的展开div。比如: <div class="expand"> <h3 class="more">Click to expand</h3> <div class="wrapper">Iasdfgh qwerty zxcvbn</div> </div> 现在,当我单击“单击展开”按钮时,所有的.wrapper都会上下滑动。如何只针对下一个立即的.wrapper,这样一次只能切换一个?可能使用函

我有3个相同结构的展开div。比如:

<div class="expand">
    <h3 class="more">Click to expand</h3>
    <div class="wrapper">Iasdfgh qwerty zxcvbn</div>
</div>
现在,当我单击“单击展开”按钮时,所有的
.wrapper
都会上下滑动。如何只针对下一个立即的
.wrapper
,这样一次只能切换一个?

可能使用函数next():

试试这个

$(document).ready(function(){
    var toggleButton = $('.expand h3.more');

    $(toggleButton).click(function(){
        var thisToggleButton = this;
        var expandWrap = $(thisToggleButton ).next('.wrapper');
        if (expandWrap.is('.closed')) {
            $(thisToggleButton ).removeClass('closed');
            expandWrap
                .removeClass('closed')
                .slideDown('slow');

        } else {
           expandWrap.slideUp('slow', function(){
                    $(this).addClass('closed');
                    $(thisToggleButton).addClass('closed');
                });
        }
    });
});

您可以将其简化很多:

$(function(){
    $('.expand h3.more').on('click',function(){
        $(this).next('div.wrapper').toggle('slow');
    });
});
jsFiddle:

编辑:请注意,如果您使用的是较旧版本的jQuery,则必须将上的
更改为
live
,才能正常工作

$(function(){
    $('.expand h3.more').on('click',function(){
        $(this).next('div.wrapper').toggle('slow');
    });
});