Javascript 正则表达式替换页面上所有链接 href 中的符号

标签 javascript jquery html regex

我一直在努力寻找适合我需要的这个问题的答案,但要么我太菜鸟无法让其他用例工作,要么它们对我的情况不够具体。

基本上,我想使用 javascript/jQuery 将网页上可能出现在链接 href 中的任何和所有符号 (&) 替换为单词“and”。我已经尝试了几个不同的版本,但没有成功

var link = $("a").attr('href');
    link.replace(/&/g, "and");      

谢谢

最佳答案

您当前的代码会替换 jQuery 对象中元素的文本,但不会更新 DOM 中的元素。

您可以通过向 attr() 提供一个函数来实现您的需要,该函数将针对匹配集中的所有元素执行。试试这个:

$("a").attr('href', function(i, value) {
  return value.replace(/&/g, "and");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="/this-&-that">link</a>
<a href="/foo-&-bar">link</a>

关于Javascript 正则表达式替换页面上所有链接 href 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35014383/

相关文章:

javascript - leaflet.js 1.0-rc 网格层。缩放时不重画 Canvas 圆

javascript - 如何在 TailwindCSS 中拥有动态 'primary' 类?

javascript - 使用javascript读写sqlite数据库

javascript - div.append 不适用于添加 html

javascript - 如果互联网可用,如何刷新网页

javascript - D3回调函数的 `this`阴影对象的 `this`

Javascript消息提醒框

javascript - 如何重新启动Javascript或结合onclick mouseenter mouseleave?

javascript - 如何更改此图像的点击处理程序?

jquery - 鼠标悬停使表格单元格发疯