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.

http://jsfiddle.net/ya2yz/10/

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

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -