我尝试获取带有 anchor 的网址值,如下所示:http://website/list/#/genre/song
它是在 jquery 中,因为在我获取值后,我必须编辑 html 标签内容。
我检索哈希值:
var hash = window.location.hash.substring(1);
我有两个变量:
var genre;
var song;
问题是url中可能有2种可能:
http://website/list/#/genre
或http://website/list/#/genre/
或
http://website/list/#/genre/song
或http://website/list/#/genre/song/
如果我们处于情况 1,我将从哈希变量中获得“流派”值
如果我们处于情况 2,我将从哈希变量中获取“流派”和“歌曲”值
我的jquery函数其实很简单:
$(function(){
var hash = window.location.hash.substring(1);
var url_parts = hash.replace(/\/\s*$/,'').split('/');
console.log("result: "+url_parts);
});
我不知道如何考虑这两种情况。实际上我只是得到一个完整的字符串。
如果我尝试http://website/list/#/genre/
,结果是:
result: ,genre
你能帮我吗?
最佳答案
测试拆分后是否存在特定索引:
$(function(){
var hash = window.location.hash.substring(1);
var url_parts = hash.replace(/\/\s*$/,'').split('/');
genre = url_parts.length >= 2 ? url_parts[1] : '';
song = url_parts.length >= 3 ? url_parts[2] : '';
console.log("result: "+url_parts);
});
关于javascript - 在jquery中的url( anchor )中获取许多#hash值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978375/