jQuery在循环中改变这个的含义

jQuery change the meaning of this in a loop

本文关键字:改变 循环 jQuery      更新时间:2023-09-26
 $(document).ready(function () {
            var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30];
            for (var i = 0; i < numbersArray.length; i++) {
            //any constructor magic to make this refer to the number?

                $('#data').append(numbersArray[i]).append('<br/>');
            }
        });

假设我在这个循环中有很多工作要做。 我可以通过更改this的含义来缩短我的代码,我认为可能更具可读性吗?

您可以使用

$.each

$.each([10, 49, 90, 110, 150, 69, 59, 20, 20, 30], function(){
    // this is an instance of number whose value is the number
});

这可能是你想要的。

如果这就是你打算做的全部,那么

$(document).ready(function () {
    var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30];   
    $('#data').append(numbersArray.join('<br/>'));
});

演示:小提琴

如果你想循环并使用this引用,那么使用 $.each((

$(document).ready(function () {
    var numbersArray = [10, 49, 90, 110, 150, 69, 59, 20, 20, 30];
    $.each(numbersArray, function () {
        $('#data').append(this).append('<br/>');
    })
});

演示:小提琴