mirror of
https://github.com/jquery/jquery.git
synced 2024-10-05 11:34:18 +00:00
Core: Throw an error on $("#") rather than returning 0-length collection
Closes gh-1682 Thanks @goob for the issue report!
This commit is contained in:
parent
cfe2eae38d
commit
80022c81ce
@ -11,7 +11,8 @@ var rootjQuery,
|
||||
// A simple way to check for HTML strings
|
||||
// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
|
||||
// Strict HTML recognition (#11290: must start with <)
|
||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
|
||||
// Shortcut simple #id case for speed
|
||||
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
|
||||
|
||||
init = jQuery.fn.init = function( selector, context ) {
|
||||
var match, elem;
|
||||
|
@ -57,10 +57,15 @@ test("jQuery()", function() {
|
||||
equal( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" );
|
||||
equal( jQuery(null).length, 0, "jQuery(null) === jQuery([])" );
|
||||
equal( jQuery("").length, 0, "jQuery('') === jQuery([])" );
|
||||
equal( jQuery("#").length, 0, "jQuery('#') === jQuery([])" );
|
||||
|
||||
equal( jQuery(obj).selector, "div", "jQuery(jQueryObj) == jQueryObj" );
|
||||
|
||||
// Invalid #id goes to Sizzle which will throw an error (gh-1682)
|
||||
try {
|
||||
jQuery( "#" );
|
||||
} catch ( e ) {
|
||||
ok( true, "Threw an error on #id with no id" );
|
||||
}
|
||||
|
||||
// can actually yield more than one, when iframes are included, the window is an array as well
|
||||
equal( jQuery(window).length, 1, "Correct number of elements generated for jQuery(window)" );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user