2012-10-13 99 views
0

這可能是一個愚蠢的問題,但有沒有辦法從URL中選擇的CSS ID? 例如在這樣的網址:從URL獲取CSS ID

www.website.com#adiv 

使用Javascript/jQuery來得到#adiv

編輯

我至今腳本:

$(document).ready(function() { 
    var c = window.location.hash; 
    $(c).addClass('current'); 
    $('a').click(function(){ 
     $('.current').removeClass('current'); 
     $(this).addClass('current'); 
    }); 
}); 

HTML:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Title</title> 
    <link rel="stylesheet" href="style.css"> 
    <script src="jquery-1.4.2.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     var c = window.location.hash; 
     $(c).addClass('current'); 
     $('a').click(function() { 
      $('.current').removeClass('current'); 
      $(this).addClass('current'); 
     }); 
     $('a[href*=#]').click(function() { 
      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
      && location.hostname == this.hostname) { 
       var $target = $(this.hash); 
       $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']'); 
       if ($target.length) { 
        var targetOffset = $target.offset().top; 
        $('html,body').animate({scrollTop: targetOffset}, 1000); 
        return false; 
       } 
      } 
     }); 
    }); 
    </script> 
</head> 
<body> 
    <nav> 
     <a href="#header">First</a> 
     <a href="#second">Second</a> 
    </nav> 
    <section id="header"> 
     ... 
    </section> 
    <section id="history"> 
     ... 
    </section> 
</body> 
</html> 

回答

8

這將是window.location.hash

var hash = window.location.hash; 
$(hash).addClass(...); 

或直接

$(window.location.hash).addClass(...); 
+0

如何用jQuery選擇它?我試着'var c = window.location.hash; c.addClass('blabla');'但它不起作用。 – Shoe

+0

'$(window.location.hash).addClass('blabla');'這實際上是非常方便的,因爲默認情況下,「hash」包含井號,所以你可以將這個權利餵給jQuery選擇器。 –

+0

@ D.Strout,無法正常工作。 (jQuery 1.4.2) – Shoe