Make sure that dynamically-created elements don't have a parent. Fixes #5638.
This commit is contained in:
parent
1bac61655b
commit
65ebf57c1e
|
@ -50,7 +50,7 @@ var jQuery = function( selector, context ) {
|
||||||
|
|
||||||
jQuery.fn = jQuery.prototype = {
|
jQuery.fn = jQuery.prototype = {
|
||||||
init: function( selector, context ) {
|
init: function( selector, context ) {
|
||||||
var match, elem, ret, doc;
|
var match, elem, ret, doc, parent;
|
||||||
|
|
||||||
// Handle $(""), $(null), or $(undefined)
|
// Handle $(""), $(null), or $(undefined)
|
||||||
if ( !selector ) {
|
if ( !selector ) {
|
||||||
|
@ -85,7 +85,12 @@ jQuery.fn = jQuery.prototype = {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ret = buildFragment( [ match[1] ], [ doc ] );
|
ret = buildFragment( [ match[1] ], [ doc ] );
|
||||||
selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
|
parent = ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment;
|
||||||
|
selector = [];
|
||||||
|
|
||||||
|
while ( parent.firstChild ) {
|
||||||
|
selector.push( parent.removeChild( parent.firstChild ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// HANDLE: $("#id")
|
// HANDLE: $("#id")
|
||||||
|
|
|
@ -12,7 +12,7 @@ test("Basic requirements", function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("jQuery()", function() {
|
test("jQuery()", function() {
|
||||||
expect(12);
|
expect(15);
|
||||||
|
|
||||||
// Basic constructor's behavior
|
// Basic constructor's behavior
|
||||||
|
|
||||||
|
@ -51,10 +51,13 @@ test("jQuery()", function() {
|
||||||
|
|
||||||
var code = jQuery("<code/>");
|
var code = jQuery("<code/>");
|
||||||
equals( code.length, 1, "Correct number of elements generated for code" );
|
equals( code.length, 1, "Correct number of elements generated for code" );
|
||||||
|
equals( code.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||||
var img = jQuery("<img/>");
|
var img = jQuery("<img/>");
|
||||||
equals( img.length, 1, "Correct number of elements generated for img" );
|
equals( img.length, 1, "Correct number of elements generated for img" );
|
||||||
|
equals( img.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||||
var div = jQuery("<div/><hr/><code/><b/>");
|
var div = jQuery("<div/><hr/><code/><b/>");
|
||||||
equals( div.length, 4, "Correct number of elements generated for div hr code b" );
|
equals( div.length, 4, "Correct number of elements generated for div hr code b" );
|
||||||
|
equals( div.parent().length, 0, "Make sure that the generated HTML has no parent." );
|
||||||
|
|
||||||
equals( jQuery([1,2,3]).get(1), 2, "Test passing an array to the factory" );
|
equals( jQuery([1,2,3]).get(1), 2, "Test passing an array to the factory" );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue