如何在此jquery循环之外访问此变量?

我有一个简单的jquery循环,通过我的表单和

  1. 看看是否有空字段。
  2. 如果有空,请用“空”类标记它们
  3. 然后创建一个’错误’变量

基本上:

// check all the inputs have a value... $('input').each(function() { if($(this).val() == '') { $(this).addClass('empty'); var error = 1; } }); 

这很有魅力。 但是,随着我的代码的继续,我似乎无法访问那个“错误”变量……好像它被锁定在每个循环中。 以下代码就在.each()循环之后,即使我知道条件1和2正在运行,我也永远不会触发my_error_function()。

 if(error == 1) { my_error_function(); } else { my_non_error_function(); } 

如何访问此变量以便我可以在代码中的其他位置使用其结果?

在函数/循环之外定义错误变量

 var error = 0; $('input').each(function() { if($(this).val() == '') { $(this).addClass('empty'); error = 1; } }); 

在范围外定义变量或将其分配给全局变量。 名称间隔变量也起作用(例如foo.bar.error = 1)

 $('input').each(function() { if($(this).val() == '') { $(this).addClass('empty'); window.error = 1; } }); ... alert(error);