browser: Firefox 3.6.11
OS: Ubuntu 9.10 and Ubuntu 10.04
Steps to reproduce in Firefox 3.6:
1. Create a form element with some child elements.
2. Inside the form, place an input element with a name attribute set to "id".
3. 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.
Running the above test case in Firefox 3.6 outputs "false" in the console. In Chrome 7 the same test case outputs "true".