diff --git a/src/core.js b/src/core.js index 1bf7e5603..14a653916 100644 --- a/src/core.js +++ b/src/core.js @@ -40,9 +40,8 @@ var trimRight = /\s+$/, // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Ignore html if within quotes "" '' or brackets/parens [] () - rhtmlString = /^(?:[^#<\\]*(<[\w\W]+>)(?![^\[]*\])(?![^\(]*\))(?![^']*')(?![^"]*")[^>]*$)/, + // If starts-with '<' + rhtmlString = /^\s*(<[\w\W]+>)[^>]*$/, // Match a standalone tag rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, diff --git a/test/unit/core.js b/test/unit/core.js index 0b392adf1..200f045db 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -27,7 +27,7 @@ test("jQuery()", function() { div = jQuery("

"), exec = false, long = "", - expected = 26, + expected = 24, attrObj = { click: function() { ok( exec, "Click executed." ); }, text: "test", @@ -132,14 +132,12 @@ test("jQuery()", function() { elem.remove(); equal( jQuery("
").length, 1, "Make sure whitespace is trimmed." ); - equal( jQuery(" a
b ").length, 1, "Make sure whitespace and other characters are trimmed." ); for ( i = 0; i < 128; i++ ) { long += "12345678"; } equal( jQuery("
" + long + "
").length, 1, "Make sure whitespace is trimmed on long strings." ); - equal( jQuery(" a
" + long + "
b ").length, 1, "Make sure whitespace and other characters are trimmed on long strings." ); }); test("selector state", function() {