Mercurial > nebulaweb3
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1d038bc9b3d2 |
---|---|
1 define( [ | |
2 "./core", | |
3 "./var/isFunction", | |
4 "./core/init", | |
5 "./manipulation", // clone | |
6 "./traversing" // parent, contents | |
7 ], function( jQuery, isFunction ) { | |
8 | |
9 "use strict"; | |
10 | |
11 jQuery.fn.extend( { | |
12 wrapAll: function( html ) { | |
13 var wrap; | |
14 | |
15 if ( this[ 0 ] ) { | |
16 if ( isFunction( html ) ) { | |
17 html = html.call( this[ 0 ] ); | |
18 } | |
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 ( 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 htmlIsFunction = isFunction( html ); | |
63 | |
64 return this.each( function( i ) { | |
65 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); | |
66 } ); | |
67 }, | |
68 | |
69 unwrap: function( selector ) { | |
70 this.parent( selector ).not( "body" ).each( function() { | |
71 jQuery( this ).replaceWith( this.childNodes ); | |
72 } ); | |
73 return this; | |
74 } | |
75 } ); | |
76 | |
77 return jQuery; | |
78 } ); |