Projet

Général

Profil

Paste
Télécharger (1,45 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / libraries / flexslider-2.5.0 / bower_components / jquery / src / wrap.js @ 0aee3c58

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
                if ( jQuery.isFunction( html ) ) {
11
                        return this.each(function(i) {
12
                                jQuery(this).wrapAll( html.call(this, i) );
13
                        });
14
                }
15

    
16
                if ( this[0] ) {
17
                        // The elements to wrap the target around
18
                        var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
19

    
20
                        if ( this[0].parentNode ) {
21
                                wrap.insertBefore( this[0] );
22
                        }
23

    
24
                        wrap.map(function() {
25
                                var elem = this;
26

    
27
                                while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
28
                                        elem = elem.firstChild;
29
                                }
30

    
31
                                return elem;
32
                        }).append( this );
33
                }
34

    
35
                return this;
36
        },
37

    
38
        wrapInner: function( html ) {
39
                if ( jQuery.isFunction( html ) ) {
40
                        return this.each(function(i) {
41
                                jQuery(this).wrapInner( html.call(this, i) );
42
                        });
43
                }
44

    
45
                return this.each(function() {
46
                        var self = jQuery( this ),
47
                                contents = self.contents();
48

    
49
                        if ( contents.length ) {
50
                                contents.wrapAll( html );
51

    
52
                        } else {
53
                                self.append( html );
54
                        }
55
                });
56
        },
57

    
58
        wrap: function( html ) {
59
                var isFunction = jQuery.isFunction( html );
60

    
61
                return this.each(function(i) {
62
                        jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
63
                });
64
        },
65

    
66
        unwrap: function() {
67
                return this.parent().each(function() {
68
                        if ( !jQuery.nodeName( this, "body" ) ) {
69
                                jQuery( this ).replaceWith( this.childNodes );
70
                        }
71
                }).end();
72
        }
73
});
74

    
75
return jQuery;
76
});