使用jQuery获取锚元素的绝对URL

bvk5enib  于 2023-10-17  发布在  jQuery
关注(0)|答案(4)|浏览(111)

给定一个锚元素(类似于$("a:first")),如何获得锚指向的绝对URL?

owfi6suc

owfi6suc1#

如果你使用的是jQuery 1.6+,你可以使用.prop()

$("a:first").prop("href")

在1.6之前,你可以直接在DOM元素上访问href属性:

$("a:first")[0].href;
ccgok5k5

ccgok5k52#

要获取附加的URL,您可以执行以下操作:
var url = $("a:first").attr('href');这将给予您URL,但不保证绝对或相对。
要找到绝对URL,您可以进一步检查
if(!url.startsWith("http")) { url = "http://www.mysite.com" + url}

olqngx59

olqngx593#

  • 如果没有 * jQuery,你可以使用普通的JavaScript:

HTMLAnchorElement: toString()返回包含完整(“* 绝对 *”)URL的字符串:

const anchorElement = document.createElement('a');
anchorElement.href = '/help';

console.log("anchorElement object     :", anchorElement);
console.log("anchorElement outerHTML  :", anchorElement.outerHTML);
console.log("anchorElement toString() :", anchorElement.toString());

在本例中,anchorElement使用源相对URL /help作为其href属性:

<a href="/help"></a>

anchorElement.toString()返回绝对URL:

https://stacksnippets.net/help

注意:https://stacksnippets.net/是提供代码片段的域,this page(* stackoverflow.com *)将其嵌入为iframe

qncylg1j

qncylg1j4#

var x =“http://lol.com/“+ $(“a:first”).prop('href');
除非是外部URL,否则应该是有效的:)

相关问题