diff options
author | Dave Methvin <dave.methvin@gmail.com> | 2010-12-27 13:43:52 -0600 |
---|---|---|
committer | Colin Snover <github.com@zetafleet.com> | 2010-12-27 13:43:52 -0600 |
commit | 5fd21fc02bda43d4e31bcf2d5b55b918a9190a7f (patch) | |
tree | cc941470936574d52fb01f3e43f8f9b51a30cd68 /src/manipulation.js | |
parent | 64ee5581afd6e9667ad45e75f082c95e2725efa6 (diff) | |
download | jquery-5fd21fc02bda43d4e31bcf2d5b55b918a9190a7f.tar.gz jquery-5fd21fc02bda43d4e31bcf2d5b55b918a9190a7f.zip |
Don't cache non-html strings in buildFragment to avoid possible collision with the names of Object methods like toString. Also makes the unit tests 0.5% to 8% faster. Fixes #6779.
Diffstat (limited to 'src/manipulation.js')
-rw-r--r-- | src/manipulation.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/manipulation.js b/src/manipulation.js index 5f4b15dd9..96caa02d0 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -440,12 +440,12 @@ jQuery.buildFragment = function( args, nodes, scripts ) { var fragment, cacheable, cacheresults, doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); - // Only cache "small" (1/2 KB) strings that are associated with the main document + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document // Cloning options loses the selected state, so don't cache them // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && - !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { + args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { cacheable = true; cacheresults = jQuery.fragments[ args[0] ]; |