在单击jQuery时打开最近的ul [英] open closest ul on click jQuery

查看:63
本文介绍了在单击jQuery时打开最近的ul的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

点击市集"地铁时,打开最近的ul.children.

when clicking a.market-metro, open closest ul.children.

<ul class="drop-padding">
<li>
    <a class="market-metro">text</a>
    <ul class="children">...</ul>
</li>
<li>
    <a class="market-metro">text</a>
    <ul class="children">...</ul>
</li>
<li>
    <a class="market-metro">text</a>
    <ul class="children">...</ul>
</li>

我有以下内容但不能正常工作:

I have the following but not working:

jQuery(".market-metro").click(function(){
    if (jQuery(".market-metro").closest('li').find('ul.children').hasClass("expanded")) {
        jQuery(".market-metro").closest('li').find('ul.children').removeClass("expanded").slideUp(250);
    } else {
        jQuery(".market-metro").closest('li').find('ul.children').addClass("expanded").slideDown(250);
    }
});

推荐答案

您需要使用 $(this) ..,也可以使用 .next() closest and find 并使用 .not()

you need to use $(this) .. and you can use .next() instead of closest and find and use .not()

$(".market-metro").click(function(){
    $('ul.children').not( $(this).next('ul.children')).removeClass("expanded").slideUp();
    $(this).next('ul.children').toggleClass("expanded").slideToggle(250);
});

工作演示

注意:请确保包含jQuery

Note: be sure to include jquery

这篇关于在单击jQuery时打开最近的ul的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆