unexpected eq() operator precedence result

unexpected eq() operator precedence result

If I have a grid composed of row and cell div element as follows:
<div class="grid">
   <div class="row">
       <div class="cell"/>
       <div class="cell"/>
       <div class="cell"/>
   </div>
   <div class="row">
       <div class="cell"/>
       <div class="cell"/>
       <div class="cell"/>
   </div>
   
<div class="row">
       <div class="cell"/>
       <div class="cell"/>
       <div class="cell"/>
   </div>
</div>
Assuming I have a 'grid' variable pointing to the top grid div, and  I want to return all the cells in the first 'column'. I would expect something like the following to work:
<span class="sourceRowText"><span class="whitespace"></span><span class="js-variable">$</span><span class="js-punctuation">(</span><span class="js-string">"> div > div:eq(</span><span class="js-operator">0</span><span class="js-operator"></span><span class="js-string">)"</span><span class="js-punctuation">, </span></span><span class="sourceRowText"><span class="js-punctuation">grid)</span><span class="js-punctuation"></span></span>.
Actually, this doesn't work. it returns only the very first (top-left) cell. To get what I want I need to do something like:
$("> div:eq(0)",$("> div", grid))
I suppose that operator precedence is applying the eq(0) in the first statement to the entire selection AFTER both children operators, but this is counter-intuitive as the :eq(0) implies that it is applied specifically to the second '>div' selector
- Eric