【发布时间】:2016-01-03 20:48:40
【问题描述】:
我尝试使用如下锚获取 url 的值:http://website/list/#/genre/song
它在 jquery 中,因为在我获得值后,我必须编辑 html 标签内容。
我使用以下方法检索哈希值:
var hash = window.location.hash.substring(1);
我有 2 个变量:
var genre;
var song;
问题是url中可能有两种可能:
-
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
你能帮帮我吗?
【问题讨论】:
-
w/
var parts=location.hash.split("/").filter(String);部分[0]=流派和部分[1]=歌曲(如果有) -
with website/list/#/genre/song ` var parts=location.hash.split("/").filter(String); console.log("流派:"+parts[0]+", 歌曲:"+parts[1]); ` 我得到流派:#,歌曲:流派
-
哎呀,让
parts=location.hash.slice(1).split... -
是的,它有效!谢谢!
标签: javascript jquery hash anchor