title: Difference in results returned between .has() and :has()
body: <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>