},
wrapAll: function( html ) {
+ if(jQuery.isFunction(html)) {
+ return this.each(function() { jQuery(this).wrapAll(html.call(this)); });
+ }
+
if ( this[0] ) {
// The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).clone();
+ var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone();
if ( this[0].parentNode )
wrap.insertBefore( this[0] );
wrap.map(function(){
var elem = this;
- while ( elem.firstChild )
+ while ( elem.firstChild && elem.firstChild.nodeType === 1 )
elem = elem.firstChild;
return elem;
domManip: function( args, table, callback ) {
var fragment, scripts, cacheable, cached, cacheresults, first;
+ var value = args[0];
+
+ if ( jQuery.isFunction(value) ) {
+ return this.each(function() {
+ args[0] = value.call(this);
+ return jQuery(this).domManip( args, table, callback );
+ });
+ };
if ( this[0] ) {
- if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 ) {
+ if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && args[0].indexOf("<option") < 0 ) {
cacheable = true;
cacheresults = jQuery.fragments[ args[0] ];
if ( cacheresults ) {