Okay ... looking through all the properties of the form.elements nodelist in IE reveals that it is exactly the form element as you said. That also means it has a reference to the elements property. So to fix this 'special case' I added this:
this.get( a.constructor == Array || a.length != undefined && ( !a.nodeType || (jQuery.browser.msie && a.elements) ) && a[0] != undefined && a[0].nodeType ? This appears to work fine but I don't know if it will affect anything else. http://brandon.jquery.com/testing/node_lists/ If it doesn't break anything else, then we should probably get this and the fix for #164 in SVN and get another point release out the door. -- Brandon Aaron On 11/6/06, Dave Methvin <[EMAIL PROTECTED]> wrote: > > Do you know what the nodeType test is for on that line? > > That nodeType test is trying to tell the difference between a NodeList and a > DOMElement. If it's a DOMElement it will have a non-zero nodeType. > > > What would break if we took it out? > > If you took it out, any DOMElement with a .length property would be treated > like a list and not an element. For example, the form element has a length. > If you passed in $(document.myform) and myform had 3 elements, jQuery.length > would be 3 instead of 1. > > The intent was to allow collections like form.elements to pass in lists of > nodes but still let you pass in the form element if you wanted to refer to > just the form element. IE is spoiling that. > > > > _______________________________________________ > jQuery mailing list > [email protected] > http://jquery.com/discuss/ > _______________________________________________ jQuery mailing list [email protected] http://jquery.com/discuss/
