2012-07-17 9 views

Respuesta

37

¿Algo como esto?

var querystring = 'myquerystringtoadd'; 

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

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

Working example.

+0

Mejor que @woz respuesta, debido a la comprobación de cadena de consulta existentes y, o bien añadiendo el prefijo o con Y con? – jaygooby

+2

@jaygooby. Sí. También se debe hacer un control adicional para los anclajes de url ("#"). –

+0

@flem -1: esto no funciona. Creo que debería ser 'href.match (/ \? /)'. – montrealist

1

Esta solución nativa con javascript:

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); 
Cuestiones relacionadas