Bug Tracker

Opened 12 years ago

Closed 12 years ago

#7334 closed bug (invalid)


Reported by: [email protected] Owned by: [email protected]
Priority: undecided Milestone: 1.5
Component: selector Version: 1.4.3
Keywords: Cc:
Blocked by: Blocking:


The selector (* > *) behaves differently than $().children().children()

I don't believe this is a duplicate of #7251 but I could be wrong. I've created a test case here: http://jsfiddle.net/z6XBx/10/

Change History (5)

comment:1 Changed 12 years ago by Rick Waldron

Component: unfiledselector
Owner: set to [email protected]
Status: newpending

Can you reduce your test case to more clearly show the issue


comment:2 Changed 12 years ago by [email protected]

Status: pendingnew

I've simplified it somewhat, don't know how I can get much simpler than this.


comment:3 Changed 12 years ago by jitter

Further reduced the testcase

I don't know if this is actually a bug. As children( selector ) is supposed to return only immediate children off the elements in the jQuery object.

I think jQuery is correct in returning nothing for .children( 'ul > li' ) as no immediate child can satisfy this selector.

Even if jQuery internally does find the li's which are children of ul's that are immediate children of the element in question, it shouldn't return them (or should it?) as these li's ain't immediate children of the element in question.

Assume some ul is an immediate child of some element in the jQuery object. This selector IMHO tells jQuery to do the following.

Give me all immediate children of the element in question which are of type ul and are at the same time of type li and an immediate child of an ul which is itself an immediate child of the element in question.

This is contradictory.

Last edited 12 years ago by jitter (previous) (diff)

comment:4 Changed 12 years ago by anonymous

Okay makes sense. Thanks for the explanation.

comment:5 Changed 12 years ago by SlexAxton

Resolution: invalid
Status: newclosed

Yes. Those two are not functionally equivalent, because the initial * matches every element in the dom, not just the top level.

Thanks for the report. Happy jQuery-ing!

Note: See TracTickets for help on using tickets.