Jquery:将querystring附加到所有链接

Jquery:将querystring附加到所有链接,jquery,jquery-mobile,Jquery,Jquery Mobile,我想在页面中的所有动态链接上附加一个查询字符串,以修复旧版本中的错误,这可能吗 有什么想法吗?像这样的吗 var querystring = 'myquerystringtoadd'; $('a').each(function() { var href = $(this).attr('href'); if (href) { href += (href.match(/\?/) ? '&' : '?') + querystring; $(t

我想在页面中的所有动态链接上附加一个查询字符串,以修复旧版本中的错误,这可能吗

有什么想法吗?

像这样的吗

var querystring = 'myquerystringtoadd';

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

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

使用本机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);

比@woz-answer更好,因为检查现有的querystring,或者附加&或者以?@jaygooby作为前缀。对还应该对url锚(“#”)进行额外检查。@flem-1:这不起作用。我想应该是
href.match(/\?/)
@dalbaeb Nice spot。未转义
。我已经更正了帖子并添加了一把小提琴。谢谢如果您现在满意,请删除否决票:)我遇到的唯一问题是
a
标记没有href属性,所以我只是在混合中添加了
If(href){href+=…
,以防止它在这样的链接上断开。