2012-05-24 3 views
0

Как я могу добавить уникальный класс к прямым дочерним элементам li основного родительского элемента ul, сгенерированного с помощью wp_nav_menu?Добавление уникального класса в wp_nav_menu

HTML:

<div class="menu_element"></div> 
<nav id="access" role="navigation"> 
    <div class="menu-main-container"> 
    <ul id="menu-main" class="menu"> 
     <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30"><a href="http://www.site/page1-2/">Page1</a> 
     <ul class="sub-menu"> 
      <li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50"><a href="http://www.site/sub-page1-1/">Sub-Page1-1</a></li> 
      <li id="menu-item-49" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49"><a href="http://www.site/sub-page1-2/">Sub-Page1-2</a></li> 
     </ul> 
     </li> 
    </ul> 
    </div> 
</nav> 

JQuery:

$('#menu-main > .menu-item').mouseenter(function(){ 
    $('.menu_element').appendTo(this); 
    hoverOn(); 
}); 
$('#menu-main > .menu-item').mouseleave(function(){ 
    hoverOff(); 
    $(this).remove($('.menu_element')); 
}); 

Я хотел бы добавить класс menu_element к li id="menu-item-30" и каждому ребенку Ли материнской ул после. Это возможно?

Заранее благодарен!

+1

Является ли причина этого для того, чтобы вы могли нацеливать корни 'li' в вашем css? – Jrod

+0

Я действительно хочу манипулировать корнем li с помощью jQuery, но для каждого элемента li существует несколько классов, поэтому мне нужно найти способ добавления уникального класса. – dcd0181

+0

Я пытаюсь реализовать http://codex.wordpress.org/Function_Reference/wp_nav_menu#Adding_Conditional_Classes_to_Menu_Items без везения. – dcd0181

ответ

2

Ваш селектор предназначен для .menu-main (a class), если у вас есть id. Вам необходимо:

$('#menu-main > .menu-item').mouseenter(function(){ 
    $('.menu_element').appendTo(this); 
    hoverOn(); 
}); 
$('#menu-main > .menu-item').mouseleave(function(){ 
    hoverOff(); 
    $(this).remove($('.menu_element')); 
}); 
+0

Извините, это была опечатка, у меня есть правильная разметка в моем документе. – dcd0181

+0

@ dcd018 - но он работает сейчас? – ScottS

+0

@ ScottS-он не работает из-за плагина меню, который я использую, он переопределяет любой скрипт, который я пытаюсь добавить по какой-то причине. Ответ на clioweb, похоже, работает для того, что мне нужно. Благодаря! – dcd0181

Смежные вопросы