使用 jQuery 获取锚元素的绝对 URL
给定一个锚元素(类似于 $("a:first")
),如何获取锚点指向的绝对 URL?
Given an anchor element (with something like $("a:first")
), how do you get the absolute URL that the anchor points to?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您使用的是 jQuery 1.6+,则可以使用
.prop()
:在 1.6 之前,您可以直接在 DOM 元素上访问
href
属性:If you're using jQuery 1.6+, you can use
.prop()
:Prior to 1.6, you can access the
href
property directly on the DOM element:要获取附加的 URL,您可以执行以下操作:
var url = $("a:first").attr('href');
这将为您提供 URL,但不保证绝对或相对的。要查找绝对 URL,您可以进一步检查
if(!url.startsWith("http")) { url = "http://www.mysite.com" + url}
to get the URL attached you can do something like...
var url = $("a:first").attr('href');
this will give you the URL but doesnt guarantee absolute or relative.To find the absolute URL you can further check
if(!url.startsWith("http")) { url = "http://www.mysite.com" + url}
没有 jQuery,您可以利用普通 JavaScript:
HTMLAnchorElement: toString()
返回包含整个(“绝对”)URL 的字符串:在此示例中,
anchorElement
使用 来源相对 URL/help
的href
属性:anchorElement.toString()
返回绝对 URL:注意:
https://stacksnippets.net/
是提供代码片段的域,此页面 (stackoverflow.com) 嵌入为 <代码> iframe 。Without jQuery, you can leverage vanilla JavaScript:
HTMLAnchorElement: toString()
returns a string containing the whole ("absolute") URL:In this example, the
anchorElement
uses the origin-relative URL/help
for itshref
attribute:anchorElement.toString()
returns the absolute URL:Note:
https://stacksnippets.net/
is the domain serving the code snippet, which this page (stackoverflow.com) embeds as aniframe
.var x = "http://lol.com/" + $("a:first").prop('href');
除非它是外部 url,否则应该可以工作:)
var x = "http://lol.com/" + $("a:first").prop('href');
that should work unless it's an external url :)