Fixed annoying $()/Array bug.
[jquery.git] / jquery / jquery.js
index 7fd1146..20ea162 100644 (file)
@@ -61,8 +61,8 @@ function jQuery(a,c) {
        if ( m ) a = jQuery.clean( [ m[1] ] );
 
        // Watch for when an array is passed in
-       this.get( a.constructor == Array || a.length && a[0] != undefined && a[0].nodeType ?
-               // Assume that it's an array of DOM Elements
+       this.get( a.constructor == Array || a.length && !a.nodeType && a[0] != undefined && a[0].nodeType ?
+               // Assume that it is an array of DOM Elements
                jQuery.merge( a, [] ) :
 
                // Find the matching elements and save them for later
@@ -1176,19 +1176,21 @@ jQuery.extend({
                        });
        
                        return p == "height" ? oHeight : oWidth;
-               }
+               } else if ( p == "opacity" && jQuery.browser.msie )
+                       return parseFloat(  jQuery.curCSS(e,"filter").replace(/[^0-9.]/,"") ) || 1;
 
                return jQuery.curCSS( e, p );
        },
 
-       curCSS: function(e,p) {
+       curCSS: function(e,p,force) {
                var r;
        
-               if (e.style[p])
+               if (!force && e.style[p])
                        r = e.style[p];
-               else if (e.currentStyle)
+               else if (e.currentStyle) {
+                       p = p.replace(/\-(\w)/g,function(m,c){return c.toUpperCase()}); 
                        r = e.currentStyle[p];
-               else if (document.defaultView && document.defaultView.getComputedStyle) {
+               } else if (document.defaultView && document.defaultView.getComputedStyle) {
                        p = p.replace(/([A-Z])/g,"-$1").toLowerCase();
                        var s = document.defaultView.getComputedStyle(e,"");
                        r = s ? s.getPropertyValue(p) : null;
@@ -1724,6 +1726,8 @@ jQuery.extend({
                },
                
                handle: function(event) {
+                       if ( typeof jQuery == "undefined" ) return;
+
                        event = event || jQuery.event.fix( window.event );
        
                        // If no correct event was found, fail