title: Is jQuery "each()" function synchronous?
body: <p>consider this scenario for validating:</p>
  
  <pre><code>function validateForm (validCallback) {
     $('#first-name').add($('#last-name')).add($('#address')).each(function () {
        // validating fields and adding 'invalid' class to invalid fields.
     });
     // doing validation this way for almost 50 fields (loop over 50 fields)
     if ($('#holder .invalid').length == 0) {
         // submitting data here, only when all fields are validated.
     }
  }
  </code></pre>
  
  <p>Now, my problem is that, the <strong>if</strong> block get executed before loops are finished. I expected the body of <code>validateForm</code> to be executed synchronously, but it seems that jQuery <code>each()</code> function gets executed asynchronously. Am I right? Why this doesn't work?</p>