*/
clone: function(deep) {
return this.pushStack( jQuery.map( this, function(a){
- var a = a.cloneNode( deep != undefined ? deep : true );
+ a = a.cloneNode( deep != undefined ? deep : true );
a.$events = null; // drop $events expando to avoid firing incorrect events
return a;
}) );
*/
jQuery.extend = jQuery.fn.extend = function() {
// copy reference to target object
- var target = arguments[0],
- a = 1;
+ var target = arguments[0], a = 1;
// extend jQuery itself if only one argument is passed
if ( arguments.length == 1 ) {
a = 0;
}
var prop;
- while (prop = arguments[a++])
+ while ( (prop = arguments[a++]) != null )
// Extend the base object
for ( var i in prop ) target[i] = prop[i];
// Convert html string into DOM nodes
if ( typeof arg == "string" ) {
// Trim whitespace, otherwise indexOf won't work as expected
- var s = jQuery.trim(arg), div = doc.createElement("div"), tb = [];
+ var s = jQuery.trim(arg).toLowerCase(), div = doc.createElement("div"), tb = [];
var wrap =
// option or optgroup
!s.indexOf("<opt") &&
[1, "<select>", "</select>"] ||
- (!s.indexOf("<thead") || !s.indexOf("<tbody") || !s.indexOf("<tfoot")) &&
+ !s.indexOf("<leg") &&
+ [1, "<fieldset>", "</fieldset>"] ||
+
+ (!s.indexOf("<thead") || !s.indexOf("<tbody") || !s.indexOf("<tfoot") || !s.indexOf("<colg")) &&
[1, "<table>", "</table>"] ||
!s.indexOf("<tr") &&
(!s.indexOf("<td") || !s.indexOf("<th")) &&
[3, "<table><tbody><tr>", "</tr></tbody></table>"] ||
+ !s.indexOf("<col") &&
+ [2, "<table><colgroup>", "</colgroup></table>"] ||
+
[0,"",""];
// Go to html and back, then peel off extra wrappers
arg = jQuery.makeArray( div.childNodes );
}
- if ( arg.length === 0 && !jQuery.nodeName(arg, "form") )
+ if ( 0 === arg.length && !jQuery(arg).is("form, select") )
return;
-
- if ( arg[0] == undefined || jQuery.nodeName(arg, "form") )
+
+ if ( arg[0] == undefined || jQuery(arg).is("form, select") )
r.push( arg );
else
r = jQuery.merge( r, arg );
var r = [], num = jQuery.mergeNum++;
for ( var i = 0, fl = first.length; i < fl; i++ )
- if ( first[i].mergeNum != num ) {
+ if ( num != first[i].mergeNum ) {
first[i].mergeNum = num;
r.push(first[i]);
}
// Figure out what browser is being used
jQuery.browser = {
+ version: b.match(/.+[xiae][\/ ]([\d.]+)/)[1],
safari: /webkit/.test(b),
opera: /opera/.test(b),
msie: /msie/.test(b) && !/opera/.test(b),