diff --git a/src/core.js b/src/core.js index 2688a4698..592c9a033 100644 --- a/src/core.js +++ b/src/core.js @@ -819,6 +819,14 @@ jQuery.extend({ if ( typeof context.createElement === "undefined" ) context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) { + var match = /^<(\w+)\/?>$/.exec(elems[0]); + if ( match ) + return [ context.createElement( match[1] ) ]; + } + var ret = [], scripts = [], div = context.createElement("div"); jQuery.each(elems, function(i, elem){ @@ -915,12 +923,6 @@ jQuery.extend({ }); - // Clean up - // Safari 3.1 throws an exception when a colgroup is created - try { - div.innerHTML = ""; - } catch(e){} - if ( fragment ) { for ( var i = 0; ret[i]; i++ ) { var node = ret[i]; diff --git a/test/unit/core.js b/test/unit/core.js index 9a1cecbe4..451bd71c7 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -254,7 +254,7 @@ test("isFunction", function() { var foo = false; test("jQuery('html')", function() { - expect(6); + expect(8); reset(); foo = false; @@ -267,7 +267,9 @@ test("jQuery('html')", function() { reset(); ok( jQuery("")[0], "Creating a link" ); - reset(); + ok( !jQuery("