[Note: See issue #2 at bottom for jquery-dev relevance]

I have been getting a 'object does not support this method' error on IE7
when the jquery-ui is trying to initialize a tabbed pane (using jquery
1.3.2, jquery-ui-1.7.1)

I finally narrowed down the problem to line 5470 in jquery-ui-1.7.1:

          o.disabled = $.unique(o.disabled.concat(
                $.map(this.lis.filter('.ui-state-disabled'),
                    function(n, i) { return self.lis.index(n); } )
            )).sort();

The problem is being caused because o.disabled returns "false", which makes
the $.unique() function return false ($.unique is supposed to only take
arrays), and of course the sort() mtehod fails on the string "false".

For the same code, it returns [] (empty array) in FF and I do not set a
disabled option/ attribute on my tabbed pane.

After much more hair-pulling and browsing, I discovered that when debugging
the ie js, my element (this.element[0]) shows as having 83 attributes! and
this.element[0].attribute['disabled'] is indeed false). Meanwhile, in FF, my
element shows only the two attributes that I provided in my HTML (class, and
id).

Because I dynamically set the options which I pass to the tabs() method, by
iterating through the element.attribtues collection, IE mixes up actual DOM
element attributes and properties and
add all default element properties to the attributes collection (including
disbaled="false"). Thus my options object contains 83+ 'properties'
including disabled = false.

There are two issues here:

1) The jquery-ui code should probably check to make sure that o.diable is an
array before passing it to the $.unique() function.
2) It doesn't seem that jquery has a cross-browser standard way of getting
just the proper DOM element attributes (like protoype's readAttribute()
writeAttribute() methods). It probably should for just this reason


- Eric

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to