需要Javascript帮助:将href值substring替换为另一个子字符串

时间:2017-10-30 18:17:36

标签: javascript html replace

我想要做的是使用Tamper / Grease-monkey JS脚本来更改HREF值子串X并用子串Y替换。不确定这是否应该在页面加载之后发生(可能在之前?)。 Jquery对我来说不是一个选择。使用href的类ID,如下面的示例HREF中所示,不是一个选项(我也不能实现ID)。这应该适用于FF,Chrome,Safari和IE11。

示例:

目标HREF:<a href="http://herp.derp.com/apps/dumpcr?&amp;content=summary&amp;format=html&amp;identifier=1234567890" title="1234567890" target="_blank">1234567890</a>

替换这个X:"herp.derp.com/apps/dumpcr?&amp;content=summary&amp;format=html&amp;identifier="

使用Y:"meow.now.com/app/quicker_meow/?bug="

这就是我现在正在使用的内容,但当我将鼠标悬停在文档中的超链接上时,一切都没有改变。

onload=function() {
    document.body.innerHTML = document.body.innerHTML.replace('herp.derp.com/apps/dumpcr?&amp;content=summary&amp;format=html&amp;identifier=','meow.now.com/app/quicker_meow/?bug=');

1 个答案:

答案 0 :(得分:0)

您需要先获取所有链接,然后替换其href中的子字符串。

试试这个并加入onload

&#13;
&#13;
var links = document.getElementsByTagName("a");
for (var l = 0; l < links.length; l++){
  links[l].href =  links[l].href.replace("trololo", "foobar")
}
&#13;
<a href="https://www.example.com/trololo">link 1</a>

<a href="https://www.example.com/test/trololo=666">link 2</a>
&#13;
&#13;
&#13;