[英]Changing href value from JavaScript
我在JsFiddle中有这个例子。
http://jsfiddle.net/PtNfD/114/
<a href="http://www.yahoo.com" target="_blank" id="changeMe">Yahoo</a>
<a href="http://www.yahoo.com" target="_blank" id="changeMe">Not working</a>
$(document).ready (function () {
$('#changeMe'). click (function (e) {
var goLucky = Math.floor(Math.random()*12);
if (goLucky % 2 == 0) {
this.href = "http://www.google.com";
} else {
this.href = "http://www.hotmail.com";
}
});
});
href更改在第一个链接中起作用,但在第二个链接中起作用。 我怎样才能使它适用于这两个链接?
我页面中的链接数是动态的,因为我使用PHP创建链接,所以我需要href更改才能在所有生成的链接中工作。
id
属性必须是唯一的。 您应该将值changeMe
转换为类名,以便在多个元素上使用。 然后你现有的代码应该工作:
<a href="http://www.yahoo.com" target="_blank" class="changeMe">Yahoo</a>
<a href="http://www.yahoo.com" target="_blank" class="changeMe">Not working</a>
$(document).ready (function () {
$('.changeMe'). click (function (e) {
var goLucky = Math.floor(Math.random()*12);
if (goLucky % 2 == 0) {
this.href = "http://www.google.com";
} else {
this.href = "http://www.hotmail.com";
}
});
});
(可选)您可以向第二个锚标记添加唯一id
,并相应地修改JavaScript代码。
您不能在HTML中的两个不同元素上使用ID。 您需要将每个不同的ID或同一个类别对齐,然后对每个ID或类应用href更改
每个网页应使用一次ID。 可以更充分地使用类。 记住你的特异性。 使用class而不是id: http : //jsfiddle.net/PtNfD/115/
<a href="http://www.yahoo.com" target="_blank" class="changeMe">Yahoo</a>
<a href="http://www.yahoo.com" target="_blank" class="changeMe">Not working</a>
$(document).ready (function () {
$('.changeMe'). click (function (e) {
var goLucky = Math.floor(Math.random()*12);
if (goLucky % 2 == 0) {
this.href = "http://www.google.com";
} else {
this.href = "http://www.hotmail.com";
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.