2011-05-12 44 views
0

WordPress的簡化版,給ul.sub-menu任何獨特的類(還)...jQuery的addClass的foreach ul.sub菜單

這裏是我的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> 

這是偉大的,但我怎麼分配一個唯一的類每個ul.sub-menu

回答

3

試試這個代碼,應該做這個工作。

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

你可以在這裏進行測試:http://jsfiddle.net/dvdPd/17/

+1

太棒了!太好了! (或使用:{idx ++; return「item-」+ idx;}從1開始計數 – 2011-05-12 23:25:26

+0

這工作,非常感謝你! – Greg 2011-05-12 23:33:24

2

尚未測試..但.each()將是您需要的功能。

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

打我吧:)這裏的文檔:[jQuery.each(http://api.jquery.com/each/) – namuol 2011-05-12 22:42:39

+0

這也工作! :D謝謝! – Greg 2011-05-12 23:33:38