使用jQuery/JavaScript从超链接获取完整URL

使用jQuery/JavaScript从超链接获取完整URL,javascript,jquery,url,hyperlink,anchor,Javascript,Jquery,Url,Hyperlink,Anchor,如何在所有浏览器中一致地使用jQuery/JavaScript检索锚链接到的完整URL?例如,我想返回http://www.mysite.com/mypage.aspx来自 我尝试了以下方法: $(this.attr('href'):问题是jQuery返回href的精确值(即。/mypage.aspx) this.getAttribute('href'):它在Internet Explorer中工作,但在FireFox中的行为与上述相同 替代方案是什么?我不能简单地将当前站点的路径附加到href

如何在所有浏览器中一致地使用jQuery/JavaScript检索锚链接到的完整URL?例如,我想返回
http://www.mysite.com/mypage.aspx
来自

我尝试了以下方法:

  • $(this.attr('href')
    :问题是jQuery返回href的精确值(即
    。/mypage.aspx

  • this.getAttribute('href')
    :它在Internet Explorer中工作,但在FireFox中的行为与上述相同


  • 替代方案是什么?我不能简单地将当前站点的路径附加到href值,因为在上述情况下,如果href的值转义到当前目录,则该操作将不起作用。

    您可以创建一个img元素,然后将src属性设置为检索到的href值。然后,当您检索src属性时,它将是完全限定的。下面是一个我从中使用的示例函数:


    可能是重复的你可能想看看这个问题@sputnick,它肯定不是重复的。从表面上看,这看起来像是你的基本n00bert url属性问题,但有点复杂。为了澄清,这适用于我测试过的所有浏览器:IE 6-9、Chrome、FireFox和Safari。请注意,至少在Chrome中,这会导致服务器请求url。
    function qualifyURL(url){
        var img = document.createElement('img');
        img.src = url; // set string url
        url = img.src; // get qualified url
        img.src = null; // no server request
        return url;
    }