HTML:
<a href="/">1</a> // link to http://site.com
<a href="/section/page/">2/a> // link to http://site.com/section/page/
<a href="http://site.com/">3</a>
<a href="../gallery/1/">4</a> // link to http://site.com/gallery/1/
记者:
$("a").live('click', function(){
var url = $(this).attr("href");
//do something
});
如何通过 jQuery 将相对路径 ( var url
) 转换为绝对路径?
如果脚本已经是绝对路径,则脚本不应执行任何操作。
谢谢。
原文由 James 发布,翻译遵循 CC BY-SA 4.0 许可协议
我很确定,如果您使用
href
属性 而不是获取 _属性_,您将拥有一个包含域的完整 url:正如@Phrogz 链接的问题中所指出的,听起来 IE6 似乎存在问题。
如果您需要支持它,您可能需要从不同的部分构建
href
this.host
和this.pathname
。 IE6 支持这些属性。您也可以使用其他一些,但您需要验证支持。jquery live() 函数在 1.7 版中已弃用并从 1.9 版中删除,因此请使用备用 on() :