我有一个引用 jQuery 3.3.1、jQuery-Migrate 1.4.1 和 Bootstrap 3.3.7 的页面。当我单击页面上的任意位置时,控制台中出现以下错误:
jquery-3.3.1.js?v=2018.8.0.1-develop:1541 Uncaught Error: Syntax error, unrecognized expression: #
at Function.Sizzle.error (jquery-3.3.1.js?v=2018.8.0.1-develop:1541)
at Sizzle.tokenize (jquery-3.3.1.js?v=2018.8.0.1-develop:2193)
at Sizzle.select (jquery-3.3.1.js?v=2018.8.0.1-develop:2620)
at Function.Sizzle (jquery-3.3.1.js?v=2018.8.0.1-develop:845)
at Function.a.find (jquery-migrate-1.4.1.min.js?v=2018.8.0.1-develop:2)
at jQuery.fn.init.find (jquery-3.3.1.js?v=2018.8.0.1-develop:2873)
at jQuery.fn.init.a.fn.find (jquery-migrate-1.4.1.min.js?v=2018.8.0.1-develop:2)
at a.fn.init.jQuery.fn.init (jquery-3.3.1.js?v=2018.8.0.1-develop:2983)
at new a.fn.init (jquery-migrate-1.4.1.min.js?v=2018.8.0.1-develop:2)
at jQuery (jquery-3.3.1.js?v=2018.8.0.1-develop:139)
从错误unrecognized expression: #
中,我很清楚有如下代码,其中变量为空白/空/未定义:
$('#' + someBlankVariable).method();
我在所有找到的实例上搜索'#' +
并放置断点,但没有一个被空白变量击中。
那么,鉴于整个错误堆栈都在 jQuery 和 jQuery-migrate 中,我如何确定实际导致错误的原因是什么?