jQuery addClass foreach ul.sub-menu - PullRequest
       5

jQuery addClass foreach ul.sub-menu

0 голосов
/ 13 мая 2011

WordPress не дает ul.sub-menu каких-либо уникальных классов (пока) ...

Вот мой HTML:

<ul id="menu-primary" class="nav">
 <li>News
   <ul class="sub-menu">
    <li>Local</li>
    <li>Politics</li>
   </ul>
 </li>
 <li>Sports
   <ul class="sub-menu">
    <li>Baseball</li>
    <li>Football</li>
   </ul>
 </li>
 <li>Opinion
   <ul class="sub-menu">
    <li>Forums</li>
    <li>Blogs</li>
   </ul>
 </li>

Используя jQuery, я могу .addClass к первомутолько.

 jQuery(document).ready(function($){

     $('ul.sub-menu').addClass (function() {
         return "item-" + $(this).index();
});

Результат таков:

<ul id="menu-primary" class="nav">
 <li>News
   <ul class="sub-menu item-1">
    <li>Local</li>
    <li>Politics</li>
   </ul>
 </li>
 <li>Sports
   <ul class="sub-menu">
    <li>Baseball</li>
    <li>Football</li>
   </ul>
 </li>
 <li>Opinion
   <ul class="sub-menu">
    <li>Forums</li>
    <li>Blogs</li>
   </ul>
 </li>

Это замечательно, но как мне назначить уникальный класс для EACH ul.sub-menu?

Ответы [ 2 ]

3 голосов
/ 13 мая 2011

попробуйте этот код, следует выполнить работу.

$(function(){        
     $('ul.sub-menu').addClass (function(idx) {         
         return "item-" + idx;
     });
 });

вы можете проверить его здесь: http://jsfiddle.net/dvdPd/17/

2 голосов
/ 13 мая 2011

Не проверял это .. но .each () будет нужной вам функцией.

$('ul.sub-menu').each(function(index) {
    $(this).addClass("item-" + index);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...