a = jQuery.clean( [ m[1] ] );
// HANDLE: $(expr)
- else {
- var r = new jQuery( c ).find( a );
- r.selector = a;
- r.context = c;
- return r;
- }
+ else
+ return new jQuery( c ).find( a );
}
return this.setArray(
// HANDLE: $(arraylike)
// Watch for when an array-like object is passed as the selector
- (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||
+ (a.jquery || a.length && a != window && (!a.nodeType || (jQuery.browser.msie && a.elements)) && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) ||
// HANDLE: $(*)
[ a ] );
// internal only, use removeClass("class")
remove: function( elem, c ){
- elem.className = c ?
+ elem.className = c != undefined ?
jQuery.grep( elem.className.split(/\s+/), function(cur){
return !jQuery.className.has( c, cur );
}).join(" ") : "";
if ( 0 === arg.length && !jQuery(arg).is("form, select") )
return;
- if ( arg[0] == undefined || jQuery(arg).is("form, select") )
+ if ( arg[0] == undefined || jQuery.nodeName(arg, "form") || arg.options )
r.push( arg );
else
r = jQuery.merge( r, arg );
// Figure out what browser is being used
jQuery.browser = {
- version: b.match(/.+[xiae][\/ ]([\d.]+)/)[1],
+ version: b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1],
safari: /webkit/.test(b),
opera: /opera/.test(b),
msie: /msie/.test(b) && !/opera/.test(b),