2012-07-17 20 views

Trả lời

37

Một cái gì đó như thế này?

var querystring = 'myquerystringtoadd'; 

$('a').each(function() { 
    var href = $(this).attr('href'); 

    if (href) { 
     href += (href.match(/\?/) ? '&' : '?') + querystring; 
     $(this).attr('href', href); 
    } 
}); 

Working example.

+0

Tốt hơn so với @woz câu trả lời, vì việc kiểm tra cho chuỗi truy vấn hiện có và một trong hai phụ thêm với & hoặc tiền tố với? – jaygooby

+2

@jaygooby. Vâng. Một kiểm tra bổ sung cũng nên được thực hiện cho neo URL ("#"). –

+0

@flem -1: điều này không hoạt động. Tôi nghĩ rằng nó phải là 'href.match (/ \? /)'. – montrealist

1

này giải pháp với javascript mẹ đẻ:

var querystring = 'yourQueryStringHere=;-)'; 

document.addEventListener('click', function (e) { 

    var x = e.originalTarget; 
    if (x.nodeName === 'A') { 

     var href = x.getAttribute('href'); 

     if(href) { 
      href += (/\?/.test(href) ? '&' : '?') + querystring; 
      x.setAttribute('href', href); 
     } 
    } 

}, false); 
Các vấn đề liên quan