why does this work? Jquery, nextAll()
<p><a href="http://pastebin.com/x8ruGQFK" rel="nofollow">http://pastebin.com/x8ruGQFK</a></p>

<p>As you see, this is a very basic step by step "form".</p>

<p>This works perfectly, but why?</p>

<p>At the beginning i have 3 divs. then i set them hidden. then i set the first one on show.</p>

<p>then i click on next.</p>

<ol>
<li><code>var currentForm = $(".my-form-page:visible");</code>  i get the first div, which is visible.</li>
<li><code>currentForm.hide();</code>  i hide it. yep, that's right. so again, everything is hidden.</li>
<li><code>currentForm.nextAll(".my-form-page:first").show();</code> <code>nextAll</code>, would apply some css to all elements after it but since i have the pseudoclass <code>:first</code>, it wont. just on the first.</li>
</ol>

<p>But since first applies just to visible elements, it shouldn't work. Why does this thing know, that the 2nd element, which is also hidden, is now the first? Why can i access it like that?</p>
