// Is it a simple selector
isSimple = /^.[^:#\[\.,]*$/,
+ // Check if a string has a non-whitespace character in it
+ rnotwhite = /\S/,
+
+ // Used for trimming whitespace
+ rtrim = /^\s+|\s+$/g,
+
// Keep a UserAgent string for use with jQuery.browser
userAgent = navigator.userAgent.toLowerCase(),
- // Save a reference to the core toString method
- toString = Object.prototype.toString;
+ // Save a reference to some core methods
+ toString = Object.prototype.toString,
+ push = Array.prototype.push,
+ slice = Array.prototype.slice;
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
return this.length;
},
- toArray: Array.prototype.slice,
+ toArray: slice,
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
// Resetting the length to 0, then using the native Array push
// is a super-fast way to populate an object with array-like properties
this.length = 0;
- Array.prototype.push.apply( this, elems );
+ push.apply( this, elems );
return this;
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
- push: [].push,
+ push: push,
sort: [].sort,
splice: [].splice
};
if ( deep && copy && typeof copy === "object" && !copy.nodeType ) {
var clone;
- if( src ) clone = src;
- else if( jQuery.isArray(copy) ) clone = [ ];
- else if( jQuery.isObject(copy) ) clone = { };
- else clone = copy;
+ if ( src ) {
+ clone = src;
+ } else if ( jQuery.isArray(copy) ) {
+ clone = [];
+ } else if ( jQuery.isObject(copy) ) {
+ clone = {};
+ } else {
+ clone = copy;
+ }
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
},
isEmptyObject: function( obj ) {
- for(var name in obj)
+ for ( var name in obj ) {
return false;
+ }
return true;
},
// check if an element is in a (or is an) XML document
isXMLDoc: function( elem ) {
- return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
- !!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName !== "HTML";
+ return (elem.ownerDocument || elem).documentElement.nodeName !== "HTML";
},
// Evalulates a script in a global context
globalEval: function( data ) {
- if ( data && /\S/.test(data) ) {
+ if ( data && rnotwhite.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
+
if ( jQuery.support.scriptEval ) {
script.appendChild( document.createTextNode( data ) );
} else {
},
trim: function( text ) {
- return (text || "").replace( /^\s+|\s+$/g, "" );
+ return (text || "").replace( rtrim, "" );
},
makeArray: function( array ) {