Added all the tests for isFunction, fixed bug #1026.
[jquery.git] / src / jquery / jquery.js
index 5780ba7..e81b82b 100644 (file)
@@ -1255,7 +1255,7 @@ jQuery.extend({
        // is the only cross-browser way to do this. --John
        isFunction: function( fn ) {
                return !!fn && typeof fn != "string" && !fn.nodeName && 
-                       typeof fn[0] == "undefined" && /function/i.test( fn + "" );
+                       fn.constructor != Array && /function/i.test( fn + "" );
        },
        
        // check if an element is in a XML document
@@ -1472,7 +1472,7 @@ jQuery.extend({
                                        [0,"",""];
 
                                // Go to html and back, then peel off extra wrappers
-                               div.innerHTML = wrap[1] + s + wrap[2];
+                               div.innerHTML = wrap[1] + arg + wrap[2];
                                
                                // Move to the right depth
                                while ( wrap[0]-- )
@@ -1495,9 +1495,7 @@ jQuery.extend({
                                        
                                }
                                
-                               arg = [];
-                               for (var i=0, l=div.childNodes.length; i<l; i++)
-                                       arg.push(div.childNodes[i]);
+                               arg = jQuery.makeArray( div.childNodes );
                        }
 
                        if ( arg.length === 0 && !jQuery.nodeName(arg, "form") )