我想在我网站的每个链接中添加一个参数,比如说?var = 123。
我尝试使用这些代码但没有发生任何事情:
var has_querystring = /\?/;
$("a[href]").each(function(el) {
if ( el.href && has_querystring.test(el.href) ) {
el.href += "&var=123";
} else {
el.href += "?var=123";
}
});
$('a[href]').attr('href', function(i, hrf) { return hrf + '?var=123';});
$('a[href]').click(function(e) {
e.preventDefault();
window.location = this.href + '?var=123';
});`
我做错了什么?谢谢。
答案 0 :(得分:1)
如果这些都不起作用,那么听起来你的jQuery代码在DOM构建完成之前就已经执行了,而且它没有选择任何元素。解决方案是使用DOM ready事件处理程序:
$(document).ready(function() {
// your code here
});
对于第一个代码段,使用.each()
,请注意传递给函数的第一个参数是元素的索引,而不是元素本身,因此您实际需要:
$('a[href]').each(function(index, el) {
...
});