Vorrei aggiungere una stringa di query a tutti i collegamenti dinamici all'interno di una pagina - per correggere un bug in una vecchia versione - è possibile?Jquery: aggiungi querystring a tutti i collegamenti
Qualche idea?
Vorrei aggiungere una stringa di query a tutti i collegamenti dinamici all'interno di una pagina - per correggere un bug in una vecchia versione - è possibile?Jquery: aggiungi querystring a tutti i collegamenti
Qualche idea?
Qualcosa di simile?
var querystring = 'myquerystringtoadd';
$('a').each(function() {
var href = $(this).attr('href');
if (href) {
href += (href.match(/\?/) ? '&' : '?') + querystring;
$(this).attr('href', href);
}
});
Questa soluzione con javascript origini:
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);
Meglio di @woz risposta, a causa del controllo per querystring esistente e sia aggiungendo con & o anteponendo? – jaygooby
@jaygooby. Sì. Un ulteriore controllo dovrebbe essere fatto anche per gli ancoraggi url ("#"). –
@flem -1: questo non funziona. Penso che dovrebbe essere 'href.match (/ \? /)'. – montrealist