我對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"/>