0

我正在尝试使用变量“元素”在 Jquery 元素上添加点击事件。

但是当我在“点击”之外更改此变量时,每个事件中的变量都会发生变化

小提琴

像那样:

$(document).ready(function () {
    var counto = 5;
    for (i = 1; i <= counto; i++) {
        $('.link.' + i).click(function (event) {
            event.preventDefault();
            $('div.output').html(i);
        });
    }
});

对不起我的英语不好:-)

谢谢你

4

1 回答 1

1

您必须将脚本包含在范围内:

$(document).ready(function () {
    var counto = 5;
    for (var i = 1; i <= counto; i++) { // do not omit the keyword var
        (function (n) {
            $('.link.' + n).click(function (event) {
                event.preventDefault();
                $('div.output').html(n);
            });
        })(i);
    }
});

否则,当它被分配给循环的最后一个值(在本例中为 6)时,click 函数将使用 i 变量。

于 2013-06-14T17:04:42.510 回答