Skip to content
Permalink
Browse files

Make sure that dynamically-created elements don't have a parent. Fixe…

…s #5638.
  • Loading branch information
jeresig committed Dec 11, 2009
1 parent 1bac616 commit 65ebf57c1e5d7fa96536b66d4fcacbafad8dc1e5
Showing with 11 additions and 3 deletions.
  1. +7 −2 src/core.js
  2. +4 −1 test/unit/core.js
@@ -50,7 +50,7 @@ var jQuery = function( selector, context ) {

jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {
var match, elem, ret, doc;
var match, elem, ret, doc, parent;

// Handle $(""), $(null), or $(undefined)
if ( !selector ) {
@@ -85,7 +85,12 @@ jQuery.fn = jQuery.prototype = {

} else {
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")
@@ -12,7 +12,7 @@ test("Basic requirements", function() {
});

test("jQuery()", function() {
expect(12);
expect(15);

// Basic constructor's behavior

@@ -51,10 +51,13 @@ test("jQuery()", function() {

var code = jQuery("<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/>");
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/>");
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" );

0 comments on commit 65ebf57

Please sign in to comment.
You can’t perform that action at this time.