jQuery - 在$ .each中定义的变量,但它在外部未定义

时间:2012-12-19 09:48:10

标签: jquery loops foreach

我有以下代码,这让我疯狂:

$.each(originalSteps, function() {
                    if($(this).attr('id') == 'ps_attributes_step_'+(parseInt(triggered_step)+1))
                    {
                        alert('testing validity');
                        var newOne = $(this);
                    }
                });
                console.log(newOne)

现在,正在触发警报,但是在循环外部未定义newOne。任何解决方案?

由于

1 个答案:

答案 0 :(得分:2)

那是因为你已经在里面声明了变量。更改您的代码如下。

var newOne;
$.each(originalSteps, function() {
    if($(this).attr('id') == 'ps_attributes_step_'+(parseInt(triggered_step)+1))
    {
        alert('testing validity');
        newOne = $(this);
        return false;
    }
});

console.log(newOne);

编辑添加返回false。请参阅以下评论以获取解释