我有一些JavaScript檢索URL參數,檢查名爲「pc」的參數是否被找到,如果它的值是「tmgppc5」或「tmgggr1」,則附加到所有hrefs在頁面上。使用JavaScript將URL參數傳遞給href
var pc = getQueryVariable("pc"),
url = 'http://www.thisurl.com';
// Check if the parameter called "pc" was found and if it's value is "tmgppc5" or "tmgggr1"
if (pc && pc === "tmgppc5" || "tmgggr1") {
url += "pc=" + pc;
}
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
var elements = document.getElementsByTagName('href')[0];
elements.setAttribute('href',url);
我使用的getElementsByTagName搜索所有的HREF,但我得到的錯誤:未捕獲的類型錯誤無法讀取的不確定
在一個單一的href作品使用getElementsById財產「的setAttribute」,使用getElementsByClassName返回相同的錯誤。錯誤的原因是什麼?有其他選擇嗎?謝謝。
document.getElementsByTagName('href')[0]。也許,頁面上根本沒有「href」()名稱的元素。 –
Qwerty
2014-10-01 11:07:04
你可能想要切換到一些JS庫,比如jQuery,簡單很多。 '$( 'A')。第一個()。ATTR( 'href' 屬性,URL)' – BojanT 2014-10-01 11:08:57