Ticket #10606 (closed bug: wontfix)
#ID-selector inconsistent
| Reported by: | pcvandam@… | Owned by: | pcvandam@… |
|---|---|---|---|
| Priority: | low | Milestone: | None |
| Component: | selector | Version: | 1.6.4 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
In the theoretical case you have multiple elements on a page with the same ID, the following selectors give different results:
$('#id') $('div#id')
The first selector only returns the first occurence of the id, while the second will return a set of all elements with that id.
They should behave the same.
Change History
comment:2 Changed 20 months ago by rwaldron
- Owner set to pcvandam@…
- Priority changed from undecided to low
- Status changed from new to pending
- Component changed from unfiled to selector
Why would ever have >1 element with the same ID?
comment:3 Changed 20 months ago by pcvandam@…
- Status changed from pending to new
That's not the point.
Of course it shouldn't happen, but with dynamically generated content it CAN happen. Fact is jQuery does not handle ID-selectors consistently.
comment:4 Changed 20 months ago by rwaldron
- Status changed from new to pending
Actually, it is: http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute
If you write unexpected code, unexpected things happen.
comment:5 Changed 20 months ago by rwaldron
- Status changed from pending to closed
- Resolution set to wontfix
Just so you get a clearer picture, the "inconsistency" isn't jQuery's fault either: http://jsfiddle.net/rwaldron/JZ8GX/
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

jsFiddle-example:
http://jsfiddle.net/y59Q7/