Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何从URL获取哈希值_Jquery_Hash - Fatal编程技术网

Jquery 如何从URL获取哈希值

Jquery 如何从URL获取哈希值,jquery,hash,Jquery,Hash,如何将url中的散列值放入单独的变量url#value1=abc&value2=xyz&value3=123 var value1 = 'abc'; var value2 = 'xyz'; var value3 = 123; 如果url中不存在任何变量 var value4 = 0; 我使用了window.location.hash来获取所有散列值,但如何将其分离为单独的变量。使用.split(): var hashValues = window.location.hash.substr(1

如何将url中的散列值放入单独的变量
url#value1=abc&value2=xyz&value3=123

var value1 = 'abc';
var value2 = 'xyz';
var value3 = 123;
如果url中不存在任何变量

var value4 = 0;
我使用了
window.location.hash
来获取所有散列值,但如何将其分离为单独的变量。

使用
.split()

var hashValues = window.location.hash.substr(1).split("&");

使用数组而不是单独的变量似乎是更好的选择

var hashValues = window.location.hash.substr(1).split("&");
如果您希望将它们放在变量中,那么最好将其作为对象,而不是充斥全局范围

var vals = { "value1" : 0 };
for(var i=hashValues.length;i++) {
    vals["value"+i] = hashValues[i];
}

这将通过3个参数解决问题

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

if(hash == ""){
    var value4 = 0;
}

var value1Raw = hash.split('&')[0];
var value2Raw = hash.split('&')[1];
var value3Raw = hash.split('&')[2];

var value1 = value1Raw.substring(7);
var value2 = value2Raw.substring(7);
var value3 = value3Raw.substring(7);

我发现JavaScript没有关联数组的概念,尽管我们可以通过创建一个对象来实现。 通过这段代码,我们可以将值以键和值的形式输入到对象中

var href = window.location.hash.substr(1);
var hash = href.split("&");
var scroll = new Object();
for(key in hash){
    var arr = hash[key].split("=");
    scroll[arr[0]] = arr[1];
}

使用hashtag(#)获取值:

var hash = location.hash;
var hash = location.hash.substr(1);
在hashtag(#)之后获取值:

var hash = location.hash;
var hash = location.hash.substr(1);
从href:

this.hash; //  returns the hash value from href attributes of an anchor tag.
例如:

<a href="http://www.codexworld.com/index.php#VideoTutorial" onclick="alert(this.hash)">Get Hash</a>


来源:

对不起,我忘了在URL中提到值。我已经更新了我的问题,请再复习一遍。提前感谢。我们如何将
apicroll=4&altscroll=3&category=somecategory
这样的字符串转换为具有键值对的关联数组,如
hash[apicroll]=4;散列[altscroll]=3;hash[category]=somecategory