2013-03-22 88 views
0

我已經爲當前鏈接設置了活動類,如果href類似於「gallery.htm」或適當的網頁,則它工作正常。但是,在更改佈局之後,我更願意爲每個鏈接目標設置一個ID,以便用戶僅在同一頁面中定向到目標,而不是在頁面之間切換。活動類問題

我想這個問題太簡單了,我只是找不到任何與谷歌有關的東西。無論如何,請不要介意;我還不擅長JavaScript。

現在的問題是無法使用此腳本設置活動類。

var url = window.location.pathname, 
    urlRegExp = new RegExp(url.replace(/\/$/, '') + "$"); 
$('a').each(function() { 
    if (urlRegExp.test(this.href.replace(/\/$/, ''))) { 
     $(this).addClass('active1st'); 
    } 
}); 

Here是樣本。

有什麼地方有什麼不對嗎?

+0

沒有'#Menu'。 – hjpotter92 2013-03-22 16:10:01

+0

我的錯誤;我剛剛糾正了這一點。 – John 2013-03-22 16:15:13

回答

1

沒有與路徑'#Menu div span #Menu1st a'匹配的元素或元素集合。

您的標識符是ab,無處可見MenuMenu1st出現。

編輯:

現在用你的更新,你的標識符abdiv元素,不a(鏈接)元素;你也沒有在你的選擇器中指定a是一個標識符,而你只是試圖將它應用到所有的a元素。如果你把一個哈希前面那個在選擇,使得選擇爲#a,那麼它會執行爲標識元素,但正如我所說,這不是一個鏈接,不具有href,因此this.href.replace會中斷;並且,即使它鏈接和邏輯將執行,那麼它將仍然由於您應用類的拼寫錯誤(如在它,它不存在於您的樣式表中!)。

上面總結了一些問題。我不確定人們需要告訴他們這些東西,只要注意 - 或者如果你長時間盯着這樣的東西休息10分鐘。

+0

但是對於樣本來說不好嗎?因爲我可以簡單地給一個元素提供不同的ID。我得到了你的意思嗎? – John 2013-03-22 16:25:18

+0

在我的腳本的第三行我的意思是一個元素不是#。並感謝你通過細節 – John 2013-03-22 16:31:55

0

未經測試,但我也認爲這是一個選擇器問題。

請糾正我,如果我錯了,但幾個ID選擇器導致總是問題。

不知道你的全功能HTML我想這將工作:

$(#Menu1st a')