单击 jQuery 打开最近的 ul
open closest ul on click jQuery
点击 a.market-metro 时,打开最近的 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>
我有以下但不工作:
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()
$(".market-metro").click(function(){
$('ul.children').not( $(this).next('ul.children')).removeClass("expanded").slideUp();
$(this).next('ul.children').toggleClass("expanded").slideToggle(250);
});
Note: be sure to include jquery
点击 a.market-metro 时,打开最近的 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>
我有以下但不工作:
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()
$(".market-metro").click(function(){
$('ul.children').not( $(this).next('ul.children')).removeClass("expanded").slideUp();
$(this).next('ul.children').toggleClass("expanded").slideToggle(250);
});
Note: be sure to include jquery