到目前为止,我已经有了这段代码,但是无效:
$('.passName').click(function(){
var schoolName = "18734";
var link = $(this).attr('href');
var newLink = link + schoolName;
$(this).attr('href') = newLink;
});
答案 0 :(得分:11)
执行以下操作:
$(this).attr('href', newLink);
答案 1 :(得分:8)
您的方法存在问题:每次点击时都会将schoolName附加到网址,即使用户定位到另一个标签页也是如此。
所以我建议不要混淆href
属性,但要点击操作:
$('.passName').click(function(){
location.href = this.href + "18734";
});
或者至少检查一下你之前没有添加它:
$('.passName').click(function(){
var schoolName = "18734";
var link = this.href;
if (link.indexOf(schoolName, link.length - schoolName.length)!==-1) {
this.href = link+schoolName
}
});
或者,正如Felix Kling建议的那样,只需确保只调用一次函数:
$('.passName').one('click', function(){
this.href += "18734"
});
答案 2 :(得分:1)
简单地说,这样做: -
$('.passName').click(function() {
$(this).attr('href', this.href+'18734');
});
答案 3 :(得分:0)
您实际上不需要创建新的jQuery对象,您只需:
$('.passName').click(function() {
var schoolName = "18734";
this.href += schoolName;
});
库作为jQuery很有用,但我们不应该忘记简单的JavaScript和DOM。
另外,在JS中你不能像你所做的那样真正“分配”某个函数调用。在jQuery中,设置属性值的方法是$(this).attr('attr', newLink)