请在下面为我检查此脚本,我不知道为什么它无法运行。
现在检查 :

<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/

10-11 20:06