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

This commit is contained in:
Oleg 2012-12-20 03:52:08 +04:00 committed by Dave Methvin
parent 96a349e46d
commit 5afc93c436
2 changed files with 12 additions and 3 deletions

View File

@ -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 );
});

View File

@ -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" );
});
});