// as properties will not be copied (such as the
// the name attribute on an input).
var clone = this.cloneNode(true),
- container = document.createElement("div"),
- container2 = document.createElement("div");
+ container = document.createElement("div");
container.appendChild(clone);
- container2.innerHTML = container.innerHTML;
- return container2.firstChild;
+ return jQuery.clean([container.innerHTML])[0];
} else
return this.cloneNode(true);
});
// args is for internal usage only
each: function( object, callback, args ) {
if ( args ) {
- if ( object.length == undefined )
+ if ( object.length == undefined ) {
for ( var name in object )
- callback.apply( object[ name ], args );
- else
+ if ( callback.apply( object[ name ], args ) === false )
+ break;
+ } else
for ( var i = 0, length = object.length; i < length; i++ )
if ( callback.apply( object[ i ], args ) === false )
break;
// A special, fast, case for the most common use of each
} else {
- if ( object.length == undefined )
+ if ( object.length == undefined ) {
for ( var name in object )
- callback.call( object[ name ], name, object[ name ] );
- else
+ if ( callback.call( object[ name ], name, object[ name ] ) === false )
+ break;
+ } else
for ( var i = 0, length = object.length, value = object[0];
i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
}
if ( name.match( /float/i ) )
name = styleFloat;
- if ( !force && elem.style[ name ] )
+ if ( !force && elem.style && elem.style[ name ] )
ret = elem.style[ name ];
else if ( document.defaultView && document.defaultView.getComputedStyle ) {