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

How to change html anchor tag query string

已知带querystring参数的URL可以改写为.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 link。

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

localhost/mynews/news/9

PHP、jquery/javascript 或 htaccess,我们可以自定义任何方式吗?

hover 你可以得到你的锚点 href 得到 querystring 值重建 url 并在锚点中使用 attr 设置新的 url标签。

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函数并稍作修改。其余代码是 mine.You 必须重置你的 url 当锚点击可能是路由没有得到你的新 url