从JavaScript更改href值

Jac*_*sas 3 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";
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

href更改在第一个链接中起作用,但在第二个链接中起作用.我怎样才能使它适用于这两个链接?

我页面中的链接数是动态的,因为我使用PHP创建链接,所以我需要href更改才能在所有生成的链接中工作.

War*_*0ck 8

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";
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

(可选)您可以id为第二个锚标记添加唯一值,并相应地修改JavaScript代码.