Ticket #7275 (closed bug: duplicate)
jQuery.fn.find() returns no results in Firefox for forms that contain input element with name "id"
| Reported by: | hallettj@… | Owned by: | |
|---|---|---|---|
| Priority: | undecided | Milestone: | 1.5 |
| Component: | traversing | Version: | 1.4.3 |
| Keywords: | fn find id regression | Cc: | |
| Blocking: | Blocked by: |
Description
jQuery: 1.4.3 browser: Firefox 3.6.11 OS: Ubuntu 9.10 and Ubuntu 10.04
Steps to reproduce in Firefox 3.6:
- Create a form element with some child elements.
- Inside the form, place an input element with a name attribute set to "id".
- Using jQuery reference the form and try to find() any set of elements inside of it. For example: $('#myForm').find('input').
Step 3 will yield an empty result set no matter what selector is given to find().
This issue does not appear to affect jQuery 1.4.2.
The problem is that jQuery tries to change the id attribute of the form and to use that new id value as a point of reference when invoking querySelectorAll(). Because the form has an input element named "id" accessing the "id" attribute of the form access that input element instead of the form's own element id.
Test case: http://jsfiddle.net/hallettj/pWNFe/
Running the above test case in Firefox 3.6 outputs "false" in the console. In Chrome 7 the same test case outputs "true".
Change History
comment:1 Changed 3 years ago by addyosmani
- Keywords fn find id regression needsreview added
- Status changed from new to open
comment:3 Changed 3 years ago by rwaldron
- Status changed from open to closed
- Resolution set to duplicate
Duplicates http://bugs.jquery.com/ticket/7212
comment:4 Changed 3 years ago by rwaldron
- Status changed from closed to reopened
- Resolution duplicate deleted
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Flagging as a regression we need to review. This is related to the fact that DOM 0 makes frames automatically expand onto the Doc object and input elements more or less automatically expand onto the form element. It's an issue we've seen in at least one other ticket but this is not a dupe.