Fix for #1087: Using appendTo with select elements
authorBrandon Aaron <brandon.aaron@gmail.com>
Wed, 25 Apr 2007 18:19:39 +0000 (18:19 +0000)
committerBrandon Aaron <brandon.aaron@gmail.com>
Wed, 25 Apr 2007 18:19:39 +0000 (18:19 +0000)
src/jquery/coreTest.js
src/jquery/jquery.js

index 049c4cc..05fd026 100644 (file)
@@ -356,7 +356,7 @@ test("wrap(String|Element)", function() {
 });
 
 test("append(String|Element|Array&lt;Element&gt;|jQuery)", function() {
-       expect(12);
+       expect(13);
        var defaultText = 'Try them out:'
        var result = $('#first').append('<b>buga</b>');
        ok( result.text() == defaultText + 'buga', 'Check if text appending works' );
@@ -404,6 +404,10 @@ test("append(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 
        ok( pass, "Test for appending a DOM node to the contents of an IFrame" );
        
+       reset();
+       $('#select1').appendTo('#foo');
+       t( 'Append select', '#foo select', ['select1'] );
+       
 });
 
 test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
index 5347c92..8859867 100644 (file)
@@ -1525,10 +1525,10 @@ jQuery.extend({
                                arg = jQuery.makeArray( div.childNodes );
                        }
 
-                       if ( arg.length === 0 && !jQuery.nodeName(arg, "form") )
+                       if ( arg.length === 0 && !jQuery(arg).is("form, select") )
                                return;
-                       
-                       if ( arg[0] == undefined || jQuery.nodeName(arg, "form") )
+
+                       if ( arg[0] == undefined || jQuery(arg).is("form, select") )
                                r.push( arg );
                        else
                                r = jQuery.merge( r, arg );