代码之家  ›  专栏  ›  技术社区  ›  Dipak

如何更改html锚定标记查询字符串

  •  0
  • Dipak  · 技术社区  · 6 年前

    众所周知 querystring 参数可以重写为 .htaccess. 例如

    localhost/mynews/category.php?cat=news&subcat=9
    

    localhost/mynews/news/9
    

    但是有什么方法可以定制 anchor tag

    <a href="category.php?cat=news&subcat=9"></a>
    

    显示在左下角 hovering 链接。

    localhost/mynews/category.php?类别=新闻和子类别=9
    

    本地主机/mynews/news/9
    

    php、jquery/javascript或htaccess,有什么可以定制的吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   4b0 Agit    6 年前

    hover 你可以得到你的锚 href 得到 querystring 价值重建 url 并设置新的 网址 使用 attr 在锚定标记中。

    var link = '';
    $("a").hover(function() {
      link = $(this).attr('href');
      var var1 = $.urlParam('cat', link);
      var var2 = $.urlParam('subcat', link);
      var url = link.split('?')[0] + '/' + var1 + '/' + var2;
      $(this).attr('href', url);
    
    }, function() {
      $(this).attr('href', link);
    });
    $.urlParam = function(name, link) {
      var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(link);
      if (results == null) {
        return null;
      } else {
        return decodeURI(results[1]) || 0;
      }
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <a href="category.php?cat=news&subcat=9">Hover Me</a>

    注:我采取 urlParam 功能来自 https://stackoverflow.com/a/25359264/965146 稍微修改一下。休息代码是我的。你必须重置 网址 当锚点击可能是路由没有得到你的新 网址