Ticket #9905 (closed bug: fixed)
.removeAttr( "id" ) sometimes crashes IE 7
| Reported by: | scott.gonzalez | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | 1.9 |
| Component: | attributes | Version: | 1.6.2 |
| Keywords: | ie7 | Cc: | |
| Blocking: | Blocked by: |
Description
I can't really describe this any better than the raw code from the test case does but...
If you clone an element and then call .removeAttr( "id" ) everything is fine. If you repeat the cloning and removal of the attribute, everything is still fine. However, if you first query for one of its ancestors, and then query from there for a descendant, IE 7 will crash.
I haven't attempted to reduce this any further, e.g., querying for a non-existent descendant, or querying by something other than id.
This exists in 1.6.x and master and seems to only affect IE 7 (even IE 6 is fine).
Test case: http://jsfiddle.net/r6zFU/1/
Change History
comment:2 Changed 22 months ago by timmywil
- Priority changed from undecided to high
- Component changed from unfiled to attributes
- Milestone changed from None to 1.next
That's strange.
comment:4 Changed 22 months ago by francis@…
Thank goodness somebody else has found this as I was thinking I was going crazy. I definitely can repeat this:
options.templates.tabs = options.tabsTemplateRoot.clone()
alert('clone complete');
options.templates.tabs.removeClass('hidden');
alert('class removed');
options.templates.tabs.removeAttr('id');
alert('id removed');
On second time around Internet Explorer 7 only gets to "alert class removed" and then crashes. At least for the moment we can work around.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

jQuery UI ticket with workaround: http://bugs.jqueryui.com/ticket/7538