如何防止在href = $(' a#myId')。attr(' href')中存储域名;在IE7中

时间:2011-12-29 08:59:53

标签: javascript jquery internet-explorer-7

例如,如果

location.href = 'http://mydomain.com/en/'

我有

<a href="my-file.html" id="myId">i am just a link</a>

所以

href = $('a#id').attr('href');

出于某种原因,Firefox,Chrome和Opera返回:my-file.html

但IE7将返回:http://mydomain.com/en/my-file.html

我尝试使用域名这个函数,但是出错了:

function str_replace(busca, repla, orig)
{
    str     = new String(orig);
    rExp    = "/"+busca+"/g";
    rExp    = eval(rExp);
    newS    = String(repla);
    str = new String(str.replace(rExp, newS));
    return str;
}

domain-name is not defined
[Detener en este error] rExp = eval(rExp); 

关于如何预防它的任何想法???

2 个答案:

答案 0 :(得分:1)

请尝试以下操作:


//this will give you filename only
var chk = "http://mydomain.com/en/test.html";
var chkArr = chk.split("/");
var filenameOnly = chkArr.pop();

希望有所帮助

答案 1 :(得分:0)

您应该避免在代码中使用eval。

您可以使用str = str.replace(/.*\//, '');去除字符串中最后一个/之前的所有内容。