Skip to main content

Bug Tracker

Side navigation

#7914 closed bug (duplicate)

Opened January 06, 2011 06:10PM UTC

Closed July 12, 2011 04:51PM UTC

Last modified July 12, 2011 04:51PM UTC

.children() returns different result when passing a selector that uses ":first" in some cases

Reported by: patrickwhalen Owned by:
Priority: high Milestone: 1.next
Component: selector Version: 1.4.4
Keywords: Cc:
Blocked by: Blocking:
Description

When passing a selector to $('#div2').children() in the form of [parent] > [child]...

  • if the :first selector is added to [parent],
  • and there are no immediate children that match [child],
  • but there is an immediate child that matches [parent],
  • and [parent] has an immediate child that matches [child]

... jQuery/Sizzle will return [parent].

http://jsfiddle.net/F62c3/

<div id='div2'>
    <ul id='ul2'>
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ul>
</div>
// Using "ul > li" selector returns an empty set (as it should)
$('#div2').children('ul > li'); 

// Using "ul:first > span" selector returns an empty set (as it should)
$('#div2').children('ul:first > span');

// Using "ul:first > li" selector returns the UL even though we're targeting LI
$('#div2').children('ul:first > li');

NOTE: The same applies to :last and :eq(0), but not :first/last/nth-child. I haven't tested beyond this.

Attachments (0)
Change History (4)

Changed January 06, 2011 06:23PM UTC by patrickwhalen comment:1

This bug seems to have appeared in jQuery 1.4.3, and is the result of a fix where previous versions returned the [child] elements.

Changed January 07, 2011 03:11PM UTC by jitter comment:2

component: unfiledselector
priority: undecidedhigh
status: newopen

This looks valid and probably is a bug in Sizzle, this can be deduced from the fact that changing ul:first > li to ul:first-child > li yield different results (no-qSA vs. qSA use).

Changed July 12, 2011 04:51PM UTC by john comment:3

resolution: → duplicate
status: openclosed

We'll likely be fixing this in an upcoming Sizzle rewrite.

Changed July 12, 2011 04:51PM UTC by john comment:4

Duplicate of #9810.