如何从URL获取片段标识符(hash#之后的值)?

时间:2012-07-26 05:08:44

标签: javascript jquery url url-fragment

示例:

www.site.com/index.php#hello

使用jQuery,我想将值hello放在变量中:

var type = …

7 个答案:

答案 0 :(得分:540)

不需要jQuery

var type = window.location.hash.substr(1);

答案 1 :(得分:32)

您可以使用以下代码来执行此操作:

var url = "www.site.com/index.php#hello";
var hash = url.substring(url.indexOf('#')+1);
alert(hash);

<强> SEE DEMO

答案 2 :(得分:11)

var url ='www.site.com/index.php#hello';
var type = url.split('#');
var hash = '';
if(type.length > 1)
  hash = type[1];
alert(hash);

jsfiddle上的工作演示

答案 3 :(得分:6)

使用以下JavaScript从URL获取散列(#)后的值。你不需要使用jQuery。

var hash = location.hash.substr(1);

我从这里获得了这段代码和教程 - How to get hash value from URL using JavaScript

答案 4 :(得分:4)

这很容易。请尝试以下代码

$(document).ready(function(){  
  var hashValue = location.hash;  
  hashValue = hashValue.replace(/^#/, '');  
  //do something with the value here  
});

答案 5 :(得分:4)

我从运行时间获得了URL,下面给出了正确答案:

let url = "www.site.com/index.php#hello";
alert(url.split('#')[1]);

希望这会有所帮助

答案 6 :(得分:2)

基于A.K的代码,这是一个辅助函数。 JS Fiddle Here(http://jsfiddle.net/M5vsL/1/)...

// Helper Method Defined Here.
(function (helper, $) {
    // This is now a utility function to "Get the Document Hash"
    helper.getDocumentHash = function (urlString) {
        var hashValue = "";

        if (urlString.indexOf('#') != -1) {
            hashValue = urlString.substring(parseInt(urlString.indexOf('#')) + 1);
        }
        return hashValue;
    };
})(this.helper = this.helper || {}, jQuery);