]> git.r.bdr.sh - rbdr/dotfiles/blob - atom/packages/ex-mode/node_modules/space-pen/node_modules/jquery/src/wrap.js
4958251d2ddf76c54579b89f618f1b2afc42470d
[rbdr/dotfiles] / atom / packages / ex-mode / node_modules / space-pen / node_modules / jquery / src / wrap.js
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 });