Added support for per-property easing
[jquery.git] / src / core.js
index 4091111..c865bfb 100644 (file)
@@ -29,7 +29,7 @@ var jQuery = function( selector, context ) {
        rnotwhite = /\S/,
 
        // Used for trimming whitespace
-       rtrim = /(\s|\u00A0)+|(\s|\u00A0)+$/g,
+       rtrim = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
 
        // Match a standalone tag
        rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
@@ -342,14 +342,6 @@ jQuery.extend({
                return true;
        },
 
-       // check if an element is in a (or is an) XML document
-       isXMLDoc: function( elem ) {
-               // documentElement is verified for cases where it doesn't yet exist
-               // (such as loading iframes in IE - #4833)
-               var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
-               return documentElement ? documentElement.nodeName !== "HTML" : false;
-       },
-
        // Evalulates a script in a global context
        globalEval: function( data ) {
                if ( data && rnotwhite.test(data) ) {
@@ -425,7 +417,9 @@ jQuery.extend({
 
                if ( array != null ) {
                        // The window, strings (and functions) also have 'length'
-                       if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval ) {
+                       // The extra typeof function check is to prevent crashes
+                       // in Safari 2 (See: #3039)
+                       if ( array.length == null || typeof array === "string" || jQuery.isFunction(array) || (typeof array !== "function" && array.setInterval) ) {
                                push.call( ret, array );
                        } else {
                                jQuery.merge( ret, array );