2015-04-02 52 views
1

我的導航欄突出顯示了訪問者所在的頁面部分,並通過將.active-nav添加到指向該頁面部分的ANY href進行滾動時發生更改。我有一個指向#foo的圖像精靈,但我不想將.active-nav添加到該標記。我沒有運氣實現:不選擇。我擔心我在這方面花了太多時間,並且看不到明顯的答案。如果存在特定類別,請勿添加班級

如果特定的類(.bar)已經存在,我想讓下面的代碼忽略href標記。請指教。

if (windowpos > $('#foo').offset().top) { 
$('nav li a').removeClass('active-nav'); 
$('a[href$="#foo"]').addClass('active-nav'); 
} 
+0

你確定這不是假設是''一[HREF = 「#富」 ]''? – 2015-04-02 21:03:03

+0

'$('nav li a')。not(「[href =#foo]」)'不起作用? – 2015-04-02 21:05:56

+0

對不起,我的操作沒有明確表示我的代碼示例不包含我嘗試解決問題。我所有的嘗試都失敗了。 – LyleCrumbstorm 2015-04-02 21:07:34

回答

4

可以使用not()功能:

$('a[href$="#foo"]').not('.bar').addClass('active-nav'); 
+0

正是我在找的東西。謝謝! – LyleCrumbstorm 2015-04-02 21:13:35

+0

沒問題,很高興幫助:) – BenM 2015-04-02 21:15:00

0

這個怎麼樣!

if($('a[href$="#foo"]').hasClass("bar")){ 
    //do stuff 
} else { 
    $('a[href$="#foo"]').addClass('active-nav'); 
} 
+1

這也是非常有幫助的。 – LyleCrumbstorm 2015-04-02 21:19:58

相關問題