我有一頁充滿鏈接。我想加上每個人的最終查詢字符串,使:添加一個查詢參數使用Javascript的很多鏈接?
http://www.example.com?x=1&y=2成爲http://www.example.com?x=1&y=2&z=3
我想分析的每一個環節,並添加此。我似乎無法找到使用jQuery的優雅方式 - 任何幫助將不勝感激。
我有一頁充滿鏈接。我想加上每個人的最終查詢字符串,使:添加一個查詢參數使用Javascript的很多鏈接?
http://www.example.com?x=1&y=2成爲http://www.example.com?x=1&y=2&z=3
我想分析的每一個環節,並添加此。我似乎無法找到使用jQuery的優雅方式 - 任何幫助將不勝感激。
像這樣的東西應該工作
$('a').each(function() {
$(this).prop('href',$(this).prop('href') + '&z=3');
})
循環每個a
元素,並添加z=3
到href
財產結束
你可以這樣做:
$("a").attr('href', function(c, b) {
return b + "&z=3";
});
這應該做的伎倆。
$('a').each(function(){
this = $this;
curr_url = this.attr('href');
this.attr('href', 'curr_url' + '&z=3');
});
$('a[href^="http://www.example.com"]').prop('href', function(i, href){
return href + '&z=3';
})
+1不錯,很贊 – ManseUK
你需要檢查this.attr( 'href' 屬性)。的indexOf( '?')> -1之前只是增加一個鍵/值對。如果沒有'?'你也需要添加。
您可能最好在javascript中使用本地href API來解析URL,然後將需要的位添加到需要修改的URL部分。
http://james.padolsey.com/javascript/parsing-urls-with-the-dom/
你或許應該還會考慮做這個用「的」事件觸發(jQuery的最新)。如果添加到onLoad鉤子中,增加DOM的速度很慢,並且會延遲頁面顯示。
$('body').on('click','a',function(e){
// Prevent it jumping straight out
e.preventDefault;
// Define vars
var href = this.href,
qstr = 'a=b&bar=foo';
// check for structure of url and add query string
this.href += ((href.indexOf('?') > -1) ? '&': '?') + qstr;
// jump
return true;
});
+1比我的努力簡單很多..不錯 – ManseUK