我有一个问题,只为儿童元素toggleclass。
<ul class="sample-menu">
<li id="sample-topmenu_2">
<a href="#" class="sample-icon">Menu Text</a>
<ul class="sample-submenu">
<li class="submenu"><a href="#" class="sample-icon">Submenu Text</a></li>
<li class="submenu"><a href="#" class="sample-icon">Submenu Text</a></li>
</ul>
</li>
<li id="sample-topmenu_3">
<a href="#" class="sample-icon">Menu Text2</a>
<ul class="sample-submenu">
<li class="submenu"><a href="#" class="sample-icon">Submenu Text2</a></li>
<li class="submenu"><a href="#" class="sample-icon">Submenu Text2</a></li>
</ul>
</li>
我使用这个jquery切换,但它切换所有菜单的所有li元素。
$( "*[id^=bga-topmenu_] p" ).click(function() {
$("li.submenu").toggleClass( "sumenu_show" );
});
感谢您的帮助。
答案 0 :(得分:6)
尝试:
$( "*[id^=bga-topmenu_]" ).click(function() {
$(this).find("li.submenu").toggleClass( "sumenu_show" );
});
您可以使用$(this)
获取当前上下文(即点击的元素),然后使用{{1}在该上下文中找到子菜单<li>
的所有class
元素方法。