Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14217 anikendra 1
define([
2
	"./core",
3
	"./core/init",
4
	"./manipulation", // clone
5
	"./traversing" // parent, contents
6
], function( jQuery ) {
7
 
8
jQuery.fn.extend({
9
	wrapAll: function( html ) {
10
		var wrap;
11
 
12
		if ( jQuery.isFunction( html ) ) {
13
			return this.each(function( i ) {
14
				jQuery( this ).wrapAll( html.call(this, i) );
15
			});
16
		}
17
 
18
		if ( this[ 0 ] ) {
19
 
20
			// The elements to wrap the target around
21
			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
22
 
23
			if ( this[ 0 ].parentNode ) {
24
				wrap.insertBefore( this[ 0 ] );
25
			}
26
 
27
			wrap.map(function() {
28
				var elem = this;
29
 
30
				while ( elem.firstElementChild ) {
31
					elem = elem.firstElementChild;
32
				}
33
 
34
				return elem;
35
			}).append( this );
36
		}
37
 
38
		return this;
39
	},
40
 
41
	wrapInner: function( html ) {
42
		if ( jQuery.isFunction( html ) ) {
43
			return this.each(function( i ) {
44
				jQuery( this ).wrapInner( html.call(this, i) );
45
			});
46
		}
47
 
48
		return this.each(function() {
49
			var self = jQuery( this ),
50
				contents = self.contents();
51
 
52
			if ( contents.length ) {
53
				contents.wrapAll( html );
54
 
55
			} else {
56
				self.append( html );
57
			}
58
		});
59
	},
60
 
61
	wrap: function( html ) {
62
		var isFunction = jQuery.isFunction( html );
63
 
64
		return this.each(function( i ) {
65
			jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
66
		});
67
	},
68
 
69
	unwrap: function() {
70
		return this.parent().each(function() {
71
			if ( !jQuery.nodeName( this, "body" ) ) {
72
				jQuery( this ).replaceWith( this.childNodes );
73
			}
74
		}).end();
75
	}
76
});
77
 
78
return jQuery;
79
});