#1591 closed bug (fixed)
IE "Invalid Argument" $('table').attr('non-existent')
Reported by: | jdsharp | Owned by: | Timmy Willison |
---|---|---|---|
Priority: | high | Milestone: | 1.6 |
Component: | attributes | Version: | 1.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
IE 6 throws an "Invalid Argument" error when attempting to get an attribute from a table element. Functions as desired with a div (returns undefined). Fix attached. (Is broken in 1.1.3.1, 1.1.4, 1.2)
Attachments (3)
Change History (20)
Changed 16 years ago by
comment:1 follow-up: 2 Changed 16 years ago by
Some more research reveled that this only occurs when the attribute in question contains a ':'. Updated patch as follows:
Fixes a getAttribute 'Invalid Exception' error when getting an attribute with a ':' in it on a table element when the attribute does not exist http://www.andrewdupont.net/2007/01/10/code-hasattribute-for-ie/ if ( jQuery.browser.msie ) {
if ( /href|src/.test(name) && !jQuery.isXMLDoc(elem) )
return elem.getAttribute( name, 2 );
if ( name.indexOf(':') > -1 )
return ( elem.attributes[name] != undefined ? elem.getAttribute(name) : undefined );
} return elem.getAttribute( name );
comment:2 Changed 16 years ago by
Replying to jdsharp:
Some more research reveled that this only occurs when the attribute in question contains a ':'. Updated patch as follows:
Fixes a getAttribute 'Invalid Exception' error when getting an attribute with a ':' in it on a table element when the attribute does not exist http://www.andrewdupont.net/2007/01/10/code-hasattribute-for-ie/ if ( jQuery.browser.msie ) {
if ( /href|src/.test(name) && !jQuery.isXMLDoc(elem) )
return elem.getAttribute( name, 2 );
if ( name.indexOf(':') > -1 )
return ( elem.attributes[name] != undefined ? elem.getAttribute(name) : undefined );
} return elem.getAttribute( name );
Tried the above patch, does not fix the error in IE6, however this did fix a problem I was having in Safari on Windows XP. I was trying to use hover() and hoverIntent() on an unordered list, and neither worked - however this fix solved the problem
comment:3 Changed 15 years ago by
This bug is still present in 1.2.2 and the same patch still applies.
comment:4 Changed 15 years ago by
Milestone: | 1.2.1 → 1.2.4 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Tested this with the trunk version, and it works fine. This was probably fixed with the recent massive modifications to .attr().
I tested on IE6.
comment:5 Changed 15 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This issue still existed in 1.2.6, I've created a patch against trunk
comment:6 Changed 15 years ago by
Owner: | set to flesler |
---|---|
Status: | reopened → new |
comment:7 Changed 15 years ago by
Status: | new → assigned |
---|
comment:8 Changed 14 years ago by
Any progress on this one? It's been 8 months and I'm still able to reproduce this in jQuery 1.3.1.
comment:10 Changed 12 years ago by
Milestone: | 1.2.4 → 1.next |
---|
Still an issue - though IE9 fails on all three :/
comment:11 Changed 12 years ago by
What about http://jsfiddle.net/timmywil/YxRUP/2/? I don't have IE9 to test.
comment:13 Changed 12 years ago by
Owner: | flesler deleted |
---|---|
Status: | assigned → open |
Updated version of the test case using jQuery git: http://jsfiddle.net/YxRUP/3/
comment:14 Changed 12 years ago by
Owner: | set to Timmy Willison |
---|---|
Priority: | major → high |
Status: | open → assigned |
Dan's, John's, and my test cases all pass in IE9 so I don't think this is a problem in IE9, but it is a problem for IE6/7. Any attribute with a colon on a table element throws an "Invalid Argument" exception. I've created another test case as well. Working on a possible fix.
comment:15 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Test for a colon in attribute names for IE6/7. Fixes #1591.
Changeset: 24a8ffb3eae56345231931184891f25f6ce017cf
comment:16 Changed 12 years ago by
Milestone: | 1.next → 1.6 |
---|
comment:17 Changed 12 years ago by
Component: | core → attributes |
---|
Test case