简单的手风琴与jquery



这是我的jquery

$(document).on('click', '.lists', function() {
    $(this).find('hide-me').attr('hide', 'show');
    console.log('test');
});

如何将类隐藏我更改为显示我

<div class="lists">
    <h5 class="head">header</h5>
    <ul class="list hide">
    <li>test</li>
    <li>test</li>
    <li>test</li>
    </ul>
</div>

我尝试了上面的jquery,但我什么也没做。我需要rename the class.错误在哪里?

如果你有理由不能使用isherwood.slideToggle()建议(比如其他东西与类或其他东西相关联),那么你将使用.toggleClass():http://api.jquery.com/toggleClass/

特别是对于您的代码,请更改以下内容:

$(this).find('hide-me').attr('hide', 'show');

。对此:

$(this).find('hide-me').toggleClass('hide-me show-me');
这将切换两个类,

彼此独立,所以只要你一开始只使用元素上的两个类中的一个,它就会删除那个类,并添加另一个。 再次单击,第一个将被重新添加,第二个将被删除。

试试这个:

$(document).on('click', '.lists', function() {
    $(this).find('.hide').addClass('show').removeClass('hide')
});

如果我正确理解您的意图,您可能想要切换隐藏和显示,那么您应该能够这样做:

$(document).on('click', '.lists', function() {
    $(this).parent().find(".lists ul").removeClass("show").addClass("hide");
    $(this).find('.hide, .show').toggleClass('show hide');
});

编辑:我更新了一些类,使其与您的html相同。请参阅此处的工作小提琴:http://jsfiddle.net/rrAhX/6/

最新更新