From c0294278db40da764a98ea1c1506548e539213c7 Mon Sep 17 00:00:00 2001 From: John Resig Date: Sat, 3 Jan 2009 00:51:07 +0000 Subject: Landed a proper fix for #3255 - which involves doing createElement instead of going through the normal clean method. --- src/core.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src') 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]; -- cgit v1.2.3