请在下面为我检查此脚本,我不知道为什么它无法运行。
现在检查 :
<script>
$("#categories li a").each(function() {
var hreflink = (/[^/]*$/.exec(decodeURIComponent(this.href)));
//var realhref = hreflink.replace(/\s/g, '_');
$(this).attr("href", "#" + hreflink);
});
</script>
说明:我想用
"category"
替换所有链接(从链接捕获)例:
我有这样的链接:
<a href="http://www.stackoverflow.com/new%20link">New Link</a>
更换后,我只有:
<a href="#new-link">New Link</a>
我解码url,然后替换,但是替换可能有问题。
感谢所有帮助。
最佳答案
exec函数返回一个数组,您需要获取数组中的第一项
$("#categories li a").attr('href', function (_, href) {
var hreflink = (/[^/]*$/.exec(decodeURIComponent(href)))[0];
return hreflink.replace(/\s/g, '_');
});
演示:Fiddle
关于jquery - 用“-”代替空格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20298419/