Fixed an issue with script nodes being removed incorrectly, fixes #3737.

This commit is contained in:
John Resig 2009-01-10 01:07:59 +00:00
parent afb05081c0
commit 29bf601f34
2 changed files with 5 additions and 2 deletions

View File

@ -922,7 +922,7 @@ jQuery.extend({
if ( fragment ) {
for ( var i = 0; ret[i]; i++ ) {
if ( jQuery.nodeName( ret[i], "script" ) ) {
scripts.push( ret[i].parentNode.removeChild( ret[i] ) );
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
} else {
if ( ret[i].nodeType === 1 )
ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );

View File

@ -899,7 +899,7 @@ test("append(String|Element|Array<Element>|jQuery)", function() {
});
test("appendTo(String|Element|Array<Element>|jQuery)", function() {
expect(6);
expect(7);
var defaultText = 'Try them out:'
jQuery('<b>buga</b>').appendTo('#first');
equals( jQuery("#first").text(), defaultText + 'buga', 'Check if text appending works' );
@ -915,6 +915,9 @@ test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
jQuery([document.getElementById('first'), document.getElementById('yahoo')]).appendTo('#sap');
equals( expected, jQuery('#sap').text(), "Check for appending of array of elements" );
reset();
ok( jQuery(document.createElement("script")).appendTo("body").length, "Make sure a disconnected script can be appended." );
reset();
expected = document.querySelectorAll ?
"This link has class=\"blog\": Simon Willison's WeblogYahooTry them out:" :