jquery core: Closes #2709, avoiding a bug on IE 6 when using globalEval and a base...
[jquery.git] / src / core.js
index 27cdbfe..0b27f74 100644 (file)
@@ -410,9 +410,7 @@ jQuery.fn = jQuery.prototype = {
                                        jQuery.inArray(this.name, value) >= 0);
 
                        else if ( jQuery.nodeName( this, "select" ) ) {
-                               var values = value.constructor == Array ?
-                                       value :
-                                       [ value ];
+                               var values = jQuery.makeArray(value);
 
                                jQuery( "option", this ).each(function(){
                                        this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
@@ -639,7 +637,9 @@ jQuery.extend({
                        else
                                script.appendChild( document.createTextNode( data ) );
 
-                       head.appendChild( script );
+                       // Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+                       // This arises when a base node is used (#2709).
+                       head.insertBefore( script, head.firstChild );
                        head.removeChild( script );
                }
        },