【问题标题】:jQuery - variable defined inside $.each, but it's undefined outsidejQuery - 在 $.each 中定义的变量,但在外部未定义
【发布时间】:2012-12-19 09:48:10
【问题描述】:

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

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

现在,警报被触发,但 newOne 在循环外未定义。有什么解决办法吗?

谢谢

【问题讨论】:

    标签: jquery loops foreach


    【解决方案1】:

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

    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。请参阅下面的评论以获取解释。

    【讨论】:

    • 我建议在分配newOne 之后添加return false; 以尽早突破$.each
    猜你喜欢
    • 1970-01-01
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2022-11-22
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多