Commit 5afc93c4 authored by Oleg's avatar Oleg Committed by Dave Methvin

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

parent 96a349e4
...@@ -286,16 +286,17 @@ jQuery.fn.extend({ ...@@ -286,16 +286,17 @@ jQuery.fn.extend({
var fragment, first, scripts, hasScripts, node, doc, var fragment, first, scripts, hasScripts, node, doc,
i = 0, i = 0,
l = this.length, l = this.length,
set = this,
iNoClone = l - 1, iNoClone = l - 1,
value = args[0], value = args[0],
isFunction = jQuery.isFunction( value ); isFunction = jQuery.isFunction( value );
// We can't cloneNode fragments that contain checked, in WebKit // We can't cloneNode fragments that contain checked, in WebKit
if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) {
return this.each(function() { return this.each(function( index ) {
var self = jQuery( this ); var self = set.eq( index );
if ( isFunction ) { 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 ); self.domManip( args, table, callback );
}); });
......
...@@ -2238,3 +2238,11 @@ test( "insertAfter, insertBefore, etc do not work when destination is original e ...@@ -2238,3 +2238,11 @@ test( "insertAfter, insertBefore, etc do not work when destination is original e
jQuery("#test4087-multiple").remove(); 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" );
});
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment