Hi,

I found a bug in Safari in the curCSS function where it tries to access 
a property which is null in that case...:

curCSS: function(elem, prop, force) {
     var ret;

     if (!force && elem.style[prop]) {

     ret = elem.style[prop];

     } else if (elem.currentStyle) {

     var newProp = prop.replace(/\-(\w)/g,function(m,c){return 
c.toUpperCase()});
     ret = elem.currentStyle[prop] || elem.currentStyle[newProp];

     } else if (document.defaultView && 
document.defaultView.getComputedStyle) {

     prop = prop.replace(/([A-Z])/g,"-$1").toLowerCase();
     var cur = document.defaultView.getComputedStyle(elem, null);

     if ( cur )
     ret = cur.getPropertyValue(prop);
     else if ( prop == 'display' )
                 ret = 'none';
     else
                 jQuery.swap(elem, { display: 'block' }, function() {
        ret = document.defaultView.getComputedStyle(this,null) && 
document.defaultView.getComputedStyle(this,null).getPropertyValue(prop);
     });

}

To fix this I changed

ret = 
document.defaultView.getComputedStyle(this,null).getPropertyValue(prop);

to this:

ret = document.defaultView.getComputedStyle(this,null) && 
document.defaultView.getComputedStyle(this,null).getPropertyValue(prop);

because document.defaultView.getComputedStyle(this,null) returned null 
in my case.

John, I'm sorry I cannot put up a simple test page for this, I'm moving 
to jQuery 1.0 with Plazes at the moment.

And I'd like to create a ticket for bugs I find, but I cannot find the 
link...


-- Klaus

_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to