Me gustaría añadir una cadena de consulta a todos los enlaces dinámicos dentro de una página, para corregir un error en una versión anterior, ¿es esto posible?Jquery: Anexar querystring a todos los enlaces
¿Alguna idea?
Me gustaría añadir una cadena de consulta a todos los enlaces dinámicos dentro de una página, para corregir un error en una versión anterior, ¿es esto posible?Jquery: Anexar querystring a todos los enlaces
¿Alguna idea?
¿Algo como esto?
var querystring = 'myquerystringtoadd';
$('a').each(function() {
var href = $(this).attr('href');
if (href) {
href += (href.match(/\?/) ? '&' : '?') + querystring;
$(this).attr('href', href);
}
});
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);
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
@jaygooby. Sí. También se debe hacer un control adicional para los anclajes de url ("#"). –
@flem -1: esto no funciona. Creo que debería ser 'href.match (/ \? /)'. – montrealist