0

我正在尝试使用 replace() 从我的 html 页面上的超链接中删除特定字符串。我遇到了几篇展示如何做到这一点的帖子,他们都在使用 replace() 来实现这一点。它适用于 IE,但在 FireFox 中不起作用。这是我要替换(删除)的带有字符串的代码。

在我的 html 页面上,我有指向外部网站的链接,这些链接由 pl 脚本附加,以便可以对其进行处理。我想从超链接中删除此脚本引用。

例子:<a href="/cgi-bin/redir.pl?http://www.google.com/" target="_new">Google Search</a>

我希望它是:<a href="http://www.google.com/" target="_new">Google Search</a>

$("a[href*='/cgi-bin/redir.pl?']").attr('href', function() { return this.replace('/cgi-bin/redir.pl?',''); });

此代码在 IE 中有效,但在 FireFox 中无效。我尝试了此代码的许多不同变体,但没有成功。我希望有人给我提示,告诉我如何让它在 FireFox 中也能工作。

4

1 回答 1

0

尝试类似的东西

$('a[href^="/cgi-bin/redir.pl?"]').each(function() {
    this.href = this.href.replace(/^\/cgi-bin\/redir\.pl\?/, '');

    // or $(this).attr('href', this.href.replace(/^\/cgi-bin\/redir\.pl\?/, ''));
    // or this.href = this.href.substring(18);
});
于 2012-05-18T12:42:52.690 回答