summaryrefslogtreecommitdiff
path: root/bower_components/jquery/src/wrap.js
diff options
context:
space:
mode:
authorThomas Park <thomas@thomaspark.me>2014-11-01 21:05:20 -0400
committerThomas Park <thomas@thomaspark.me>2014-11-01 21:05:20 -0400
commit918b2a49ca6ac074bac47f6685cf3a687a4c6212 (patch)
tree5d11a2820c6e0726a6ee071724557d12a90c6709 /bower_components/jquery/src/wrap.js
parent5c12c8a99c04fbff7d13e97679121a5de13e01d6 (diff)
3.2.0 -> 3.3.0
Diffstat (limited to 'bower_components/jquery/src/wrap.js')
-rw-r--r--bower_components/jquery/src/wrap.js78
1 files changed, 78 insertions, 0 deletions
diff --git a/bower_components/jquery/src/wrap.js b/bower_components/jquery/src/wrap.js
new file mode 100644
index 00000000..b6dce72e
--- /dev/null
+++ b/bower_components/jquery/src/wrap.js
@@ -0,0 +1,78 @@
+define([
+ "./core",
+ "./core/init",
+ "./traversing" // parent, contents
+], function( jQuery ) {
+
+jQuery.fn.extend({
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function( i ) {
+ jQuery( this ).wrapAll( html.call(this, i) );
+ });
+ }
+
+ if ( this[ 0 ] ) {
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map(function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ }).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function( i ) {
+ jQuery( this ).wrapInner( html.call(this, i) );
+ });
+ }
+
+ return this.each(function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ });
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each(function( i ) {
+ jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
+ });
+ },
+
+ unwrap: function() {
+ return this.parent().each(function() {
+ if ( !jQuery.nodeName( this, "body" ) ) {
+ jQuery( this ).replaceWith( this.childNodes );
+ }
+ }).end();
+ }
+});
+
+return jQuery;
+});