fix opacity issues in IE
[jquery.git] / src / jquery / jquery.js
index 5940df3..1d0d281 100644 (file)
@@ -1443,7 +1443,7 @@ jQuery.extend({
                }
                
                if (prop.match(/float/i))
-                       prop = jQuery.browser.msie ? "styleFloat" : "cssFloat";
+                       prop = jQuery.styleFloat;
 
                if (!force && elem.style[prop])
                        ret = elem.style[prop];
@@ -1565,7 +1565,16 @@ jQuery.extend({
 
                // IE elem.getAttribute passes even for style
                else if ( elem.tagName ) {
-                       // IE actually uses filters for opacity ... elem is actually elem.style
+                       
+
+                       if ( value != undefined ) elem.setAttribute( name, value );
+                       if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) 
+                               return elem.getAttribute( name, 2 );
+                       return elem.getAttribute( name );
+
+               // elem is actually elem.style ... set the style
+               } else {
+                       // IE actually uses filters for opacity
                        if ( name == "opacity" && jQuery.browser.msie ) {
                                if ( value != undefined ) {
                                        // IE has trouble with opacity if it does not have layout
@@ -1580,14 +1589,6 @@ jQuery.extend({
                                return elem.filter ? 
                                        (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : "";
                        }
-
-                       if ( value != undefined ) elem.setAttribute( name, value );
-                       if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) 
-                               return elem.getAttribute( name, 2 );
-                       return elem.getAttribute( name );
-
-               // elem is actually elem.style ... set the style
-               } else {
                        name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();});
                        if ( value != undefined ) elem[name] = value;
                        return elem[name];
@@ -1820,12 +1821,14 @@ new function() {
        // Check to see if the W3C box model is being used
        jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
 
+       jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat",
+
        jQuery.props = {
                "for": "htmlFor",
                "class": "className",
-               "float": jQuery.browser.msie ? "styleFloat" : "cssFloat",
-               cssFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
-               styleFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
+               "float": jQuery.styleFloat,
+               cssFloat: jQuery.styleFloat,
+               styleFloat: jQuery.styleFloat,
                innerHTML: "innerHTML",
                className: "className",
                value: "value",