Skip to content
Permalink
Browse files

Fix #13094. Pass index to .before(fn) fn as documented. Close gh-1093.

  • Loading branch information
markelog authored and dmethvin committed Dec 19, 2012
1 parent 96a349e commit 5afc93c436020f8ceabe8cab449f1c0030ba6ecd
Showing with 12 additions and 3 deletions.
  1. +4 −3 src/manipulation.js
  2. +8 −0 test/unit/manipulation.js
@@ -286,16 +286,17 @@ jQuery.fn.extend({
var fragment, first, scripts, hasScripts, node, doc,
i = 0,
l = this.length,
set = this,
iNoClone = l - 1,
value = args[0],
isFunction = jQuery.isFunction( value );

// We can't cloneNode fragments that contain checked, in WebKit
if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) {
return this.each(function() {
var self = jQuery( this );
return this.each(function( index ) {
var self = set.eq( index );
if ( isFunction ) {
args[0] = value.call( this, i, table ? self.html() : undefined );
args[0] = value.call( this, index, table ? self.html() : undefined );
}
self.domManip( args, table, callback );
});
@@ -2238,3 +2238,11 @@ test( "insertAfter, insertBefore, etc do not work when destination is original e
jQuery("#test4087-multiple").remove();
});
});

test( "Index for function argument should be received (#13094)", 2, function() {
var i = 0;

jQuery("<div/><div/>").before(function( index ) {
equal( index, i++, "Index should be correct" );
});
});

0 comments on commit 5afc93c

Please sign in to comment.
You can’t perform that action at this time.