// Handle HTML strings
if ( typeof a == "string" ) {
+ // HANDLE: $(html) -> $(array)
var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
-
- a = m ?
- // HANDLE: $(html) -> $(array)
- jQuery.clean( [ m[1] ] ) :
+ if ( m )
+ a = jQuery.clean( [ m[1] ] );
- // HANDLE: $(expr)
- jQuery.find( a, c );
+ // HANDLE: $(expr)
+ else
+ return new jQuery( c ).find( a );
}
return this.setArray(
// Look for the case where we're accessing a style value
if ( key.constructor == String )
if ( value == undefined )
- return jQuery[ type || "attr" ]( this[0], key );
+ return this.length && jQuery[ type || "attr" ]( this[0], key ) || undefined;
else {
obj = {};
obj[ key ] = value;
add: function(t) {
return this.pushStack( jQuery.merge(
this.get(),
- typeof t == "string" ? jQuery(t).get() : t )
+ t.constructor == String ?
+ jQuery(t).get() :
+ t.length != undefined && !t.nodeName ?
+ t : [t] )
);
},
return value.call( elem, [index] );
// exclude the following css properties to add px
- var exclude = /z-?index|font-?weight|opacity/i;
+ var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i;
// Handle passing in a number to a CSS property
if ( value.constructor == Number && type == "curCSS" && !exclude.test(prop) )
* @name $.merge
* @type Array
* @param Array first The first array to merge, the unique elements of second added.
- * @param Array second The second array to merge into the first, unalterd.
+ * @param Array second The second array to merge into the first, unaltered.
* @cat JavaScript
*/
merge: function(first, second) {