Fix for #1086: Append all caps HTML tags
[jquery.git] / src / jquery / jquery.js
index 5347c92..7b72185 100644 (file)
@@ -1479,13 +1479,16 @@ jQuery.extend({
                         // Convert html string into DOM nodes
                        if ( typeof arg == "string" ) {
                                // Trim whitespace, otherwise indexOf won't work as expected
-                               var s = jQuery.trim(arg), div = doc.createElement("div"), tb = [];
+                               var s = jQuery.trim(arg).toLowerCase(), div = doc.createElement("div"), tb = [];
 
                                var wrap =
                                         // option or optgroup
                                        !s.indexOf("<opt") &&
                                        [1, "<select>", "</select>"] ||
                                        
+                                       !s.indexOf("<leg") &&
+                                       [1, "<fieldset>", "</fieldset>"] ||
+                                       
                                        (!s.indexOf("<thead") || !s.indexOf("<tbody") || !s.indexOf("<tfoot")) &&
                                        [1, "<table>", "</table>"] ||
                                        
@@ -1525,10 +1528,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 );