我对JavaScript编码完全陌生,我希望你能帮助我。Javascript:查找某个元素并撕掉部分链接
在我的源代码中,它的属性中有一个与内容shortlink
的链接。
<link rel='shortlink' href='http://example.com/?p=14286' />
从这个元素我想读出HREF链接,并撕掉?p=14286
查询之前的一切。
这怎么可能?使用document.getElementsByAttribute
我失败了..
我对JavaScript编码完全陌生,我希望你能帮助我。Javascript:查找某个元素并撕掉部分链接
在我的源代码中,它的属性中有一个与内容shortlink
的链接。
<link rel='shortlink' href='http://example.com/?p=14286' />
从这个元素我想读出HREF链接,并撕掉?p=14286
查询之前的一切。
这怎么可能?使用document.getElementsByAttribute
我失败了..
您可以只是split
的URL。
var link = document.querySelector("link"); //use All for a list
var link = link.href.split("?");
var url = link[0];
var params = link[1];
您可以使用document.querySelectorAll()
查找与CSS选择器匹配的所有元素,并使用CSS3属性选择器来查找其rel属性中具有指定字符串的所有元素。
至于获取你想要的链接的一部分,这是基本的字符串操作,它在这个网站和其他地方有很多答案和资源。
您可以使用css属性选择器[attribute = value]通过其属性选择任何elment。
所以,你可以用这个说法得到href网址:
document.querySelector("link[rel=shortlink]").href
如果你可以改变HTML然后添加一个id的链接,并使用document.getElementById
。如果您无法获得与document.getElementsByTagName
的所有链接并搜索rel='shortlink'
。
// Get all link tags
var links = document.getElementsByTagName('link');
// Search link tags for rel='shortlink'
for (var i = 0; i < links.length; i++) {
var link = links[i];
if (link.getAttribute('rel') == 'shortlink') {
var href = link.getAttribute('href');
var query_start = href.indexOf('?');
var query = href.substring(query_start);
alert(query);
break;
}
}
// Alternatively we can use an id
var myLink = document.getElementById('myLink');
var href = myLink.getAttribute('href');
href = href.substr(href.indexOf('?'));
alert(href);
<link rel='shortlink' href='http://example.com/?p=14286' />
<link rel='otherlink' href='http://example.com/?p=12345' />
<link rel='otherlink' href='http://example.com/?p=12345' id="myLink"/>