javascript - Change Class of UL list menu which has submenus using jquery -
i have horizontal menu has sub-menu's want change background color on hover effect of parent menu if has submenu.
like in example http://jsfiddle.net/ya2yz/11/
in above example hard-coding has-submenu desired effect problem actual menu dynamically generated database & far have not been able figure out way assign has-submenu class code make work.
so solution looking use add new css class using jquery elements have submenu's.
i not sure how can find element <li><span class="dir"><a href="#">categories</a></span><span id="menus-spacer">|</span>
and change class using jquery dir has-submenu <li><span class="has-submenu"><a href="#">categories</a></span><span id="menus-spacer">|</span>
this jsfiddle link has actual code want change desired result show in link example above.
html code:
<div id="nav-wrapper"> <ul class="dropdown dropdown-linear" id="nav"> <li class="active"><span class="dir"><a href="#">home</a></span><span id="menus-spacer">|</span></li> <li><span class="dir"><a href="#">about us</a></span><span id="menus-spacer">|</span></li> <li><span class="dir"><a href="#">articles</a></span><span id="menus-spacer">|</span></li> <li><span class="dir"><a href="#">categories</a></span><span id="menus-spacer">|</span> <ul> <li><a href="#">politics</a><span id="menus-spacer">|</span></li> <li><a href="#">feature</a><span id="menus-spacer">|</span></li> <li><a href="#">economy</a><span id="menus-spacer">|</span></li> <li><a href="#">feature</a><span id="menus-spacer">|</span></li> <li><a href="#">business</a><span id="menus-spacer">|</span></li> </ul> </li> <li><span class="dir"><a href="#">archive</a></span><span id="menus-spacer">|</span> <ul> <li><a href="#">2013</a><span id="menus-spacer">|</span></li> <li><a href="#">2012</a><span id="menus-spacer">|</span></li> <li><a href="#">2011</a><span id="menus-spacer">|</span></li> <li><a href="#">2010</a><span id="menus-spacer">|</span></li> <li><a href="#">2009</a><span id="menus-spacer">|</span></li> </ul> </li> <li><span class="dir"><a href="#">news</a></span><span id="menus-spacer">|</span></li> </ul> </div>
try this:-
demo
$(function () { $('#nav > li').on('mouseenter mouseleave', function () { if ($(this).find('ul').length > 0) { $(this).find('.dir').toggleclass('has-submenu'); } }); });
Comments
Post a Comment