在jquery的url(锚)中获得许多#哈希值

get many #hash values in url (anchor) in jquery

本文关键字:许多 哈希值 jquery url      更新时间:2023-09-26

我试着得到一个url的值锚像这样:http://website/list/#/genre/song

这是在jquery中,因为在我得到值之后,我必须编辑html标签的内容。

我检索哈希值:

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

我有两个变量:

var genre;
var song;

问题是url中可能有两种可能性:

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

  • http://website/list/#/genre/songhttp://website/list/#/genre/song/
  • 如果我们在情况1中,我将从散列变量

    中获得'genre'值

    如果我们在情况2中,我将从散列变量

    中获得'genre'和'song'值我的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);
     });