2013-04-30 55 views
1

當URL有#id-name-here我想將CSS類應用於頁面上該目標的父級。檢查URL中是否存在#然後將其刪除

所以給這個網址...

domain.com/#Domain

後,頁面會跳轉到這個位置,在頁面

<a name="Domain"></a>

我想找到的<a name="Domain"></a>

因此,使用javaScript我想找到這個節點的父像這樣...

$('a[name="Domain"]').parent('.module-box').addClass('active-cat');

將類active-cat添加到我的目標節點的父。

所以我需要幫助,使這個更有活力,所以Domain可以是任何值...

我能夠與location.hash來從URL中Domain部分。
那麼做到這一點....

var activeCat = location.hash; 
$('a[name="' + activeCat + '"]').parent('.module-box').addClass('active-cat'); 

這幾乎工作,除了我activeCat包含#,我需要刪除。

所以,如果有人能幫助我....

  1. var activeCat = location.hash;
  2. 檢查刪除#確保var activeCat = location.hash;即使正在運行的其他代碼之前存在嗎?

我的最終結果...

http://codedevelopr.com/screenshots/2013-04-30_08-52-47.png

回答

5

只是刪除#

var activeCat = location.hash.replace('#', ''); 
+0

太棒了,我不知道;我確定是否需要使用正則表達式。在JavaScript中,在嘗試使用它之前是否需要仔細檢查以確保設置是否已設置? – JasonDavis 2013-04-30 13:15:27

+0

@jasondavis在'location.hash'上調用'replace'是安全的。 – xdazz 2013-04-30 13:17:30

相關問題