mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fixes #13779. Remove nodes in document order (uses for loop matching empty()).
This commit is contained in:
parent
db0326b1fd
commit
77d7f26452
@ -75,9 +75,10 @@ jQuery.fn.extend({
|
||||
remove: function( selector, keepData ) {
|
||||
var elem,
|
||||
elems = selector ? jQuery.filter( selector, this ) : this,
|
||||
i = elems.length;
|
||||
i = 0,
|
||||
l = elems.length;
|
||||
|
||||
while ( i-- ) {
|
||||
for ( ; i < l; i++ ) {
|
||||
elem = elems[ i ];
|
||||
|
||||
if ( !keepData && elem.nodeType === 1 ) {
|
||||
|
@ -1572,6 +1572,30 @@ test( "remove() event cleaning ", 1, function() {
|
||||
cleanUp.remove();
|
||||
});
|
||||
|
||||
test( "remove() in document order #13779", 1, function() {
|
||||
var last,
|
||||
cleanData = jQuery.cleanData;
|
||||
|
||||
jQuery.cleanData = function( nodes ) {
|
||||
last = nodes[0].textContent;
|
||||
cleanData.call( this, nodes );
|
||||
};
|
||||
|
||||
jQuery("#qunit-fixture").append(
|
||||
jQuery.parseHTML(
|
||||
"<div class='removal-fixture'>1</div>" +
|
||||
"<div class='removal-fixture'>2</div>" +
|
||||
"<div class='removal-fixture'>3</div>"
|
||||
)
|
||||
);
|
||||
|
||||
jQuery(".removal-fixture").remove();
|
||||
|
||||
equal( last, 3, "The removal fixtures were removed in document order" );
|
||||
|
||||
jQuery.cleanData = cleanData;
|
||||
});
|
||||
|
||||
test( "detach()", 11, function() {
|
||||
testRemove("detach");
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user