0

私は次のコードを持っています。

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

現在、アラートがトリガーされていますが、newOne はループの外では定義されていません。これに対する解決策はありますか?

ありがとう

4

1 に答える 1

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);

return false を追加するように編集されました。説明については、以下のコメントを参照してください。

于 2012-12-19T09:49:55.417 に答える