Javascript 从<;链接rel=短链接>;在当前文档的标题中
给定以下HTML:Javascript 从<;链接rel=短链接>;在当前文档的标题中,javascript,dom,Javascript,Dom,给定以下HTML: <html> <head> <link href="http://example.com/g/8c" rel="shortlink" /> </head> <body></body> </html> 如何使用javascript检索链接,rel=shortlink中href=”“的内容?我不知道头中的这些项目是否可以在DOM中访问 头部标记可能包含更多链接标记,用于c
<html>
<head>
<link href="http://example.com/g/8c" rel="shortlink" />
</head>
<body></body>
</html>
如何使用javascript检索链接,rel=shortlink
中href=”“的内容?我不知道头中的这些项目是否可以在DOM中访问
头部标记可能包含更多链接标记,用于css等资产。head标记可能包含多个链接短链接(根据HTML5“规范”),在这种情况下,只需选择第一个链接即可。如果使用jQuery,我会:
var link_href = $('link', 'head').attr('href');
我将使用jQuery执行此操作:
$('link[rel=shortlink]').eq(0).attr('href');
其中:
选择适当的元素$('link[rel=shortlink]')
选择其中的第一个eq(0)
选择适当的属性attr('href')
document.head
获取head,然后使用getElementsByTagName
获取链接
标记
var links = document.head.getElementsByTagName('link');
for(var link in links){
if(links.hasOwnProperty(link)){
var l = links[link];
if(l.rel === 'shortlink'){
console.log(l.href);
}
}
}
注意:document.head
可能不适用于所有浏览器(我的意思是,它可能不适用于IE)。如果不起作用,请尝试以下方法:
document.head = document.head || document.getElementsByTagName('head')[0];
只是好奇,你为什么要这样做?对于“共享/推特此页面”功能,我想传递自定义的短链接,而不是
document.URL
,它将被一些任意的第三方短链接器缩短。你在使用jQuery吗?目前所有的答案似乎都是jQuery。我有jQuery,但出于可移植性的原因,我宁愿编写独立于jQuery的特定函数。为什么要否决?我知道我问过javascript,但由于在普通的ol js和jQuery中的总体思路是一样的,所以下一票似乎反应过度,不是吗?我假设下一票是下一票,因为他从来没有说过他在使用jQuery,不应该只对一个任务使用它。虽然您的示例适用于我给定的HTML,但如果存在其他链接标记,它将失败,比如CSS。这个问题的其他答案确实考虑到了这一点。