Difference in results returned between .has() and :has()
<p>I have a gnarly navigation structure that can be generalized as:</p>

<pre><code>&lt;ul id="navigation"&gt;
    &lt;li&gt;
        A
        &lt;ul&gt;
            &lt;li&gt;
                B
                &lt;ul&gt;
                    &lt;li&gt;C&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
            &lt;li&gt;
                D
                &lt;ul&gt;
                    &lt;li&gt;
                        E
                        &lt;ul&gt;
                            &lt;li&gt;F&lt;/li&gt;
                        &lt;/ul&gt;
                    &lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
</code></pre>

<p>Sub-items are hidden until hover.  I want to indicate that B, D, and E have sub-items by styling them so I used the selector:</p>

<pre><code>$('#navigation &gt; li li:has(ul)')
</code></pre>

<p>Which only returned B and D.  Changing it to:</p>

<pre><code>$('#navigation &gt; li li').has('ul')
</code></pre>

<p>returned all of the correct items but I'm confused as to why.</p>

<p><strong>EDIT</strong></p>

<p><code>:has()</code> doesn't appear to be affected (entirely) by nesting as</p>

<pre><code>$('#navigation ul &gt; li:has(ul)')
</code></pre>

<p>returns the same results as <code>.has()</code> above.</p>
