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

时间:2018-06-15 10:03:17

标签: php jquery html .htaccess anchor

众所周知,带有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?cat=news&subcat=9

localhost/mynews/news/9

PHP,jquery / javascript或htaccess,我们可以自定义吗?

1 个答案:

答案 0 :(得分:1)

hover上,您可以获得锚href获取querystring值重建url,并使用锚标记中的url设置新的attr

&#13;
&#13;
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;
  }
}
&#13;
<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>
&#13;
&#13;
&#13;

注意:我从https://stackoverflow.com/a/25359264/965146获取urlParam函数并稍加修改。休息代码是我的。当锚定点击可能是路由没有获得您的新url

时,您必须重置url