// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) )
- return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector );
+ return jQuery( document ).ready( selector );
return this.setArray(jQuery.makeArray(selector));
},
},
clean: function( elems, context, fragment ) {
- var ret = [], scripts = [];
context = context || document;
// !context.createElement fails in IE with an error but returns typeof 'object'
if ( typeof context.createElement === "undefined" )
context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+ var ret = [], scripts = [], div = context.createElement("div");
+
jQuery.each(elems, function(i, elem){
if ( typeof elem === "number" )
elem += '';
});
// Trim whitespace, otherwise indexOf won't work as expected
- var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div");
+ var tags = jQuery.trim( elem ).toLowerCase();
var wrap =
// option or optgroup
ret = jQuery.merge( ret, elem );
});
+
+ // Clean up
+ div.innerHTML = "";
if ( fragment ) {
for ( var i = 0; ret[i]; i++ ) {
- if ( jQuery.nodeName( ret[i], "script" ) ) {
- ret[i].parentNode.removeChild( ret[i] );
+ elem = ret[i];
+ if ( jQuery.nodeName( elem, "script" ) ) {
+ if( elem.parentNode )
+ elem.parentNode.removeChild( elem );
} else {
- if ( ret[i].nodeType === 1 )
- ret = jQuery.merge( ret, ret[i].getElementsByTagName("script"));
- fragment.appendChild( ret[i] );
+ if ( elem.nodeType === 1 )
+ ret = jQuery.merge( ret, elem.getElementsByTagName("script"));
+ fragment.appendChild( elem );
}
}
// Also, we need to make sure that the correct elements are being returned
// (IE returns comment nodes in a '*' query)
if ( !jQuery.support.getAll ) {
- while ( (elem = second[ i++ ]) )
+ while ( (elem = second[ i++ ]) != null )
if ( elem.nodeType != 8 )
first[ pos++ ] = elem;
} else
- while ( (elem = second[ i++ ]) )
+ while ( (elem = second[ i++ ]) != null )
first[ pos++ ] = elem;
return first;
jQuery.className.remove( this, classNames );
},
- toggleClass: function( classNames ) {
- jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" : "add" ]( this, classNames );
+ toggleClass: function( classNames, state ) {
+ if( typeof state !== "boolean" )
+ state = !jQuery.className.has( this, classNames );
+ jQuery.className[ state ? "add" : "remove" ]( this, classNames );
},
remove: function( selector ) {