234

例子:

www.site.com/index.php#hello

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

var type = …
4

8 回答 8

625

不需要 jQuery

var type = window.location.hash.substr(1);
于 2012-07-26T05:11:14.853 回答
38

您可以使用以下代码来做到这一点:

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

看演示

于 2012-07-26T05:13:27.143 回答
13
var url ='www.site.com/index.php#hello';
var type = url.split('#');
var hash = '';
if(type.length > 1)
  hash = type[1];
alert(hash);

在jsfiddle上工作演示

于 2012-07-26T05:15:11.643 回答
8

这很容易。试试下面的代码

$(document).ready(function(){
  var hashValue = location.hash.replace(/^#/, '');  
  //do something with the value here  
});
于 2014-09-01T09:30:59.600 回答
7

使用以下 JavaScript 从 URL 获取哈希 (#) 之后的值。你不需要为此使用 jQuery。

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

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

于 2016-01-29T07:25:22.143 回答
5

我有运行时的 URL,下面给出了正确的答案:

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

希望这可以帮助

于 2017-06-26T11:23:07.833 回答
2

根据 AK 的代码,这里有一个 Helper Function。JS 小提琴在这里(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);
于 2014-03-03T01:25:16.280 回答
1

获取当前文档位置的片段

var hash = window.location.hash;

从字符串中获取片段

// absolute
var url = new URL('https://example.com/path/index.html#hash');

console.log(url.hash);

// relative (second param is required, use any valid URL base)
var url2 = new URL('/path/index.html#hash2', 'http://example');

console.log(url2.hash);

于 2021-12-26T22:10:15.497 回答