javascript - 在jquery中的url( anchor )中获取许多#hash值

标签 javascript jquery hash anchor

我尝试获取带有 anchor 的网址值,如下所示:http://website/list/#/genre/song

它是在 jquery 中,因为在我获取值后,我必须编辑 html 标签内容。

我检索哈希值:

 var hash = window.location.hash.substring(1);

我有两个变量:

var genre;
var song;

问题是url中可能有2种可能:

  1. http://website/list/#/genrehttp://website/list/#/genre/

  • http://website/list/#/genre/songhttp://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/

    相关文章:

    javascript - 如何将 Å、Ä 和 Ö 放入 javascript 数组中,然后将其与 html 文本进行比较?

    regex - 如何使用正则表达式查找哈希中的键

    javascript - 在客户端将图像从 html 转换为 jpg (javascript)

    php - 在 Mysql 表中查找并从 javascript 传递信息

    javascript - 如何刷新ViewBag?

    javascript - 使用 Javascript/Jquery 根据单元格的编号对 HTML 表格进行着色

    javascript - 清除链接的相关下拉组合框选择中选定(子)类别的所有子类别

    javascript - 缩放功能

    php - WordPress 使用什么类型的哈希?

    php - MySQL 表中的 64 位密码哈希