现在我得到了这个脚本,它将?category添加到元素中的所有链接。问题是我有一个注释按钮,返回一个像这个“http://example.com/post2#respond”的网址,这意味着我的脚本将返回“http://example.com/post2#respond?category”。这是一个问题,因为我正在使用PHP进行查询,#后面的所有内容都不会被服务器解析。
这是代码:
<script type="text/javascript">
jQuery(function ($) {
$(".comments-link a").attr("href", function(i, href) { return href + "?category"; });
});
我想做点什么
return href.replace(/#respond/gi") + "?category" + "#respond"
所以它最终会http://example.com/post2?category#respond
编辑:我设法用href.replace删除'response',但没有删除#标签
答案 0 :(得分:0)
href.replace有效。搞砸了语法。
$(".comments-link a").attr("href", function(i, href) { return href.replace(/#respond/gi, '') + "?category" + "#respond" ; });
答案 1 :(得分:0)
$(document).ready(function () {
$('.comments-link a').attr('href', function (i, href) {
return href.substring(0, href.indexOf('?category'));
});
});
答案 2 :(得分:0)
链接具有一些属性(主机名,协议,路径名等),等于location
- 对象,根据这些属性构建href
,例如:
$(".comments-link a")
.attr("href", function() { return [this.protocol,
'//',
this.hostname,
'/',
this.pathname,
'?category'].join('') ; });