// Handle HTML strings
if ( typeof a == "string" ) {
// HANDLE: $(html) -> $(array)
- var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
+ var m = /^[^<]*(<(.|\n)+>)[^>]*$/.exec(a);
if ( m )
a = jQuery.clean( [ m[1] ] );
* @cat Core
*/
pushStack: function( a ) {
- var ret = jQuery(this);
+ var ret = jQuery(a);
ret.prevObject = this;
- return ret.setArray( a );
+ return ret;
},
/**
find: function(t) {
return this.pushStack( jQuery.map( this, function(a){
return jQuery.find(t,a);
- }) );
+ }), t );
},
/**
not: function(t) {
return this.pushStack(
t.constructor == String &&
- jQuery.multiFilter(t,this,true) ||
-
- jQuery.grep(this,function(a){
- if ( t.constructor == Array || t.jquery )
- return jQuery.inArray( t, a ) < 0;
- else
- return a != t;
- }) );
+ jQuery.multiFilter(t, this, true) ||
+
+ jQuery.grep(this, function(a) {
+ return ( t.constructor == Array || t.jquery )
+ ? jQuery.inArray( a, t ) < 0
+ : a != t;
+ })
+ );
},
/**
this.get(),
t.constructor == String ?
jQuery(t).get() :
- t.length != undefined && !t.nodeName ?
+ t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ?
t : [t] )
);
},
return this.each(function(){
var obj = this;
- if ( table && this.nodeName.toUpperCase() == "TABLE" && a[0].nodeName.toUpperCase() == "TR" )
+ if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") )
obj = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));
jQuery.each( a, function(){
noConflict: function() {
if ( jQuery._$ )
$ = jQuery._$;
+ return jQuery;
},
// This may seem like some crazy code, but trust me when I say that this
typeof fn[0] == "undefined" && /function/i.test( fn + "" );
},
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
+ },
+
/**
* A generic iterator function, which can be used to seemlessly
* iterate over both objects and arrays. This function is not the same
tb = div.childNodes;
for ( var n = tb.length-1; n >= 0 ; --n )
- if ( tb[n].nodeName.toUpperCase() == "TBODY" && !tb[n].childNodes.length )
+ if ( jQuery.nodeName(tb[n], "tbody") && !tb[n].childNodes.length )
tb[n].parentNode.removeChild(tb[n]);
}
if ( value != undefined ) elem[fix[name]] = value;
return elem[fix[name]];
- } else if ( value == undefined && jQuery.browser.msie && elem.nodeName && elem.nodeName.toUpperCase() == "FORM" && (name == "action" || name == "method") )
+ } else if ( value == undefined && jQuery.browser.msie && jQuery.nodeName(elem, "form") && (name == "action" || name == "method") )
return elem.getAttributeNode(name).nodeValue;
// IE elem.getAttribute passes even for style