annotate default/node_modules/jquery/src/wrap.js @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 define( [
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2 "./core",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 "./var/isFunction",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4 "./core/init",
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 "./manipulation", // clone
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 "./traversing" // parent, contents
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 ], function( jQuery, isFunction ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 "use strict";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 jQuery.fn.extend( {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 wrapAll: function( html ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 var wrap;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 if ( this[ 0 ] ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 if ( isFunction( html ) ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 html = html.call( this[ 0 ] );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 // The elements to wrap the target around
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 if ( this[ 0 ].parentNode ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 wrap.insertBefore( this[ 0 ] );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 wrap.map( function() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 var elem = this;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 while ( elem.firstElementChild ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31 elem = elem.firstElementChild;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34 return elem;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 } ).append( this );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 return this;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 wrapInner: function( html ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 if ( isFunction( html ) ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 return this.each( function( i ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44 jQuery( this ).wrapInner( html.call( this, i ) );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 return this.each( function() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49 var self = jQuery( this ),
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 contents = self.contents();
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
52 if ( contents.length ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
53 contents.wrapAll( html );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
54
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
55 } else {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
56 self.append( html );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
57 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
58 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
59 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
60
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
61 wrap: function( html ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
62 var htmlIsFunction = isFunction( html );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
63
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
64 return this.each( function( i ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
65 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
66 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
67 },
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
68
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
69 unwrap: function( selector ) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
70 this.parent( selector ).not( "body" ).each( function() {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
71 jQuery( this ).replaceWith( this.childNodes );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
72 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
73 return this;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
74 }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
75 } );
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
76
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
77 return jQuery;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
78 } );