2011-09-27 71 views
1

在我的網站上的每一頁都有,我使用CSS選擇器有,像這麼多體類:<體類=「類別的子類別頁」 >jQuery的擴展導航與車身類

我想能夠自動如果它與該聲明中的最後一個類相匹配,則將類「expanded」添加到左側導航欄中的菜單項。到目前爲止,我對它的理解是,我可以使用className()。last();方法將變量設置爲body的最後一個類名稱。然後只寫和if語句來確定菜單項(一個無序的列表項)是否匹配它和addClass('expanded');

但它不工作。有人會善意地幫助我解釋語法嗎?我對JavaScript仍然有點新鮮。

$(document).ready(function () { 
    var pageclass=('body').className().last(); 
    if ($('div.nav-menu li').hasClass(pageclass)){ 
     $(this).addClass('current'); 
    } 
}); 

回答

4

不知道className()是一個真正的方法..試試這個:

var last_class = $('body').attr('class').split(' ').slice(-1); 
if ($('div.nav-menu li.arrowed').hasClass(last_class)){ 
    .. 
} 
+0

嘗試過了,該變量出現在Firebug爲未定義。這是我的語法: $(document).ready(function(){ \t var last_class = $('body')。attr('class').split('').slice(-1); \t如果($( 'div.nav菜單裏')hasClass(last_class)。){ \t \t $(本).addClass( '當前'); \t} }); – cfrydlewicz

+0

適用於我..見http://jsfiddle.net/zAqDy/ –

+0

感謝您爲我檢查這個。有什麼我應該檢查,可能會搞砸我的網站上的var定義? – cfrydlewicz