从JavaScript更改href值
我在JsFiddle中有这个例子从JavaScript更改href值,javascript,Javascript,我在JsFiddle中有这个例子 $(文档).ready(函数(){ $(“#更改名称”)。单击(函数(e){ var goLucky=Math.floor(Math.random()*12); if(goLucky%2==0){ this.href=”http://www.google.com"; }否则{ this.href=”http://www.hotmail.com"; } }); }); href更改在第一个链接中有效,但在第二个链接中无效。我怎样才能使它为两个链接工作 我的页
$(文档).ready(函数(){
$(“#更改名称”)。单击(函数(e){
var goLucky=Math.floor(Math.random()*12);
if(goLucky%2==0){
this.href=”http://www.google.com";
}否则{
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";
}
});
});
$(文档).ready(函数(){
$('.changeMe')。单击(函数(e){
var goLucky=Math.floor(Math.random()*12);
if(goLucky%2==0){
this.href=”http://www.google.com";
}否则{
this.href=”http://www.hotmail.com";
}
});
});
或者,您可以向第二个锚标记添加唯一的
id
,并相应地修改JavaScript代码。您不能在HTML中的两个不同元素上使用id。您需要为每个ID或同一个类指定一个不同的ID,然后在每个ID上应用href更改,否则每个网页应使用一次类ID。可以更充分地使用类。记住你的特殊性。使用类而不是id:
$(文档).ready(函数(){
$('.changeMe')。单击(函数(e){
var goLucky=Math.floor(Math.random()*12);
if(goLucky%2==0){
this.href=”http://www.google.com";
}否则{
this.href=”http://www.hotmail.com";
}
});
});
你真的认为伪造这样的链接是个好主意吗?Facebook就是这样做的,为什么他不呢?长话短说,我只是用这种技术在链接末尾添加一个变量:$(“.changeMe”)。单击(函数(e){var x=document.forms[“addcomponent”][“qty”].value;this.href=this.href+x;});
<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";
}
});
});
<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";
}
});
});