});
由此分析.wrapInner,.wrap方法就容易多了。
wrapInner: function( html ) {
if ( jQuery.isFunction( html ) ) {
return this.each(function(i) {
jQuery(this).wrapInner( html.call(this, i) );
});
}
// 在每一个jQuery对象中取其contents,若内容contents不为空,则在内容contents外包装一层html;若内容contents为空,则将html直接插入到当前jQuery对象中
return this.each(function() {
var self = jQuery( this ),
contents = self.contents();
if ( contents.length ) {
contents.wrapAll( html );
} else {
self.append( html );
}
});
},
wrap: function( html ) {
var isFunction = jQuery.isFunction( html );
// 在每一个匹配的jQuery对象外都包装一层html
return this.each(function(i) {
jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
});
},