我有以下jquery,它在新窗口中打开所有外部链接:
$("a[href^='http']").not("[href*='<?php bloginfo('url');?>']").attr('target','_blank');
这将显示如下:
<a href="http://www.example.com" target="_blank">Link</a>
但是我想调整它并在URL的末尾添加一个变量用于跟踪目的。所以它看起来像这样:
<a href="http://www.example.com?myvarhere=true" target="_blank">Link</a>
答案 0 :(得分:2)
您可以使用.attr()作为参数的callback function版本
$("a[href^='http']").not("[href*='<?php bloginfo('url');?>']").attr('target', '_blank').attr('href', function (i, href) {
return href + '?somevar=somevalue'
});
注意:如果要检查网址是否已有其他参数,则回调实现可能必须更加复杂,否则您必须使用&
附加新参数
答案 1 :(得分:1)
当然,你可以做到
var myVariable = "some string";
$("a[href^='http']").not("[href*='<?php bloginfo('url');?>']")
.attr('target','_blank').attr('href', function(_, h){
return h + "?" + myVariable + "=true";
});