#7275 closed bug (duplicate)
jQuery.fn.find() returns no results in Firefox for forms that contain input element with name "id"
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | undecided | Milestone: | 1.5 |
Component: | traversing | Version: | 1.4.3 |
Keywords: | fn find id regression | Cc: | |
Blocked by: | Blocking: |
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 (7)
comment:1 Changed 12 years ago by
Keywords: | fn find id regression needsreview added |
---|---|
Status: | new → open |
comment:3 Changed 12 years ago by
Resolution: | → duplicate |
---|---|
Status: | open → closed |
Duplicates http://bugs.jquery.com/ticket/7212
comment:4 Changed 12 years ago by
Resolution: | duplicate |
---|---|
Status: | closed → reopened |
comment:5 Changed 12 years ago by
Component: | unfiled → traversing |
---|---|
Resolution: | → duplicate |
Status: | reopened → closed |
comment:7 Changed 12 years ago by
Keywords: | needsreview removed |
---|
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.