众所周知 querystring 参数可以重写为 .htaccess. 例如
querystring
.htaccess.
localhost/mynews/category.php?cat=news&subcat=9
到
localhost/mynews/news/9
但是有什么方法可以定制 anchor tag
anchor tag
<a href="category.php?cat=news&subcat=9"></a>
显示在左下角 hovering 链接。
hovering
localhost/mynews/category.php?类别=新闻和子类别=9
本地主机/mynews/news/9
php、jquery/javascript或htaccess,有什么可以定制的吗?
论 hover 你可以得到你的锚 href 得到 querystring 价值重建 url 并设置新的 网址 使用 attr 在锚定标记中。
hover
href
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 稍微修改一下。休息代码是我的。你必须重置 网址 当锚点击可能是路由没有得到你的新 网址
urlParam