mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Fix #13094. Pass index to .before(fn) fn as documented. Close gh-1093.
This commit is contained in:
parent
96a349e46d
commit
5afc93c436
@ -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" );
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user