Opened 12 years ago
Closed 11 years ago
#10074 closed bug (fixed)
Chaining two [] selector with :first not working
Reported by: | ldng | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | 1.8 |
Component: | selector | Version: | 1.6.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Hi,
not sure it's a real bug but I was kinda expeting this to work : $('tr[id="foo"][style="display:none"]:first')
That would be selecting the first tr which name start with foo and has display style set to none.
Change History (6)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
Component: | unfiled → selector |
---|---|
Milestone: | None → 1.6.3 |
Priority: | undecided → low |
Further reduction: http://jsfiddle.net/rwaldron/jcWN7/
comment:3 Changed 12 years ago by
Also, http://api.jquery.com/first-selector/ has information regarding the performance losses you suffer with the :first
selector.
comment:4 Changed 12 years ago by
Status: | new → open |
---|
The :first
pushes Sizzle into the JavaScript code path rather than querySelectorAll
. The JS path prefers the elem.style
*property* (which is a CSSStyleDeclaration
object) over the string style
*attribute* of the element.
comment:5 Changed 12 years ago by
Milestone: | 1.6.3 |
---|
comment:6 Changed 11 years ago by
Milestone: | → 1.8 |
---|---|
Resolution: | → fixed |
Status: | open → closed |
This started working when jQuery.attr was plugged into sizzle, but now works in an independent Sizzle.
Happens both in Firefox 5 and Chrome 13 : http://jsfiddle.net/d4QFg/
Another doubt is the list obtained with $('tr[id="foo"][style="display:none"]') sorted. I'm not sure that's always the case, hence the interest in a working :first selector chaining.