jQuery attr()不支持属性或方法'replace'

时间:2014-06-03 18:21:17

标签: javascript jquery

我有以下脚本在chrome / Firefox中工作正常但在IE中没有。

  

对象不支持属性或方法'替换'

我需要替换部分网址并在新标签中打开该链接。基本上它运行在一个安全的站点后面,所有外部链接都在那之前得到了服务器名称,所以我需要用' http替换它:'

$('a[href*="youtube.com"]').attr("href", $('a[href*="youtube.com"]').replace ("https://serverdomain.com/", "http:"))

仅对IE上面的脚本抛出错误。

1 个答案:

答案 0 :(得分:6)

首先,您尝试在jQuery对象上使用replace,因此您收到replace is undefined错误。其次,attr()可以使用一个函数,您可以使用该函数更简单地返回替换值。试试这个:

$('a[href*="youtube.com"]').attr("href", function(i, value) {
    return value.replace("https://serverdomain.com/", "http:");
});

我认为您还需要将http:更改为http://,以确保您的网址有效。