使用 jQuery 和 Javascript 的 for 循环内的函数

Koz*_*zet 3 javascript jquery scope nested web

我有以下代码:

$(document).ready(function () {
    for (i = 1; i <= number_of_banners; i++) {
    var selector = "#link_" + i;
    $(selector).click(function () {
        alert(i);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

但alert()无法从for循环中获取“i”变量。如何在 .click 函数中使用 for 循环的 i 变量?

Meh*_*asi 5

你可以使用这个代码:

$(document).ready(function () {
    for (var i = 1; i <= number_of_banners; i++) {
        var selector = "#link_" + i;
        $(selector).on('click', {id: i}, function (e) {
            alert(e.data.id);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

您应该使用on方法并在其中使用 click 参数而不是使用onclick方法