Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到jQuery错误的来源?_Javascript_Jquery_Jquery Migrate - Fatal编程技术网

Javascript 如何找到jQuery错误的来源?

Javascript 如何找到jQuery错误的来源?,javascript,jquery,jquery-migrate,Javascript,Jquery,Jquery Migrate,我有一个参考jQuery3.3.1、jQueryMigrate1.4.1和Bootstrap3.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:154

我有一个参考jQuery3.3.1、jQueryMigrate1.4.1和Bootstrap3.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)
从错误
无法识别的表达式:#
,我很清楚有如下代码,其中变量为空/空/未定义:

$('#' + someBlankVariable).method();
我搜索了
“#”+
,并在所有找到的实例上放置了断点,没有一个实例被空白变量击中


因此,假设整个错误堆栈都在jQuery中,并且jQuery迁移,我如何确定导致错误的实际原因呢?

它生成了以下属性的原因:

href=“#”

将其替换为属性

href="javascript:void(0)"

通常是由JQ migrate的不兼容版本引起的?这看起来像jQuery选择器中的missin引号(或双引号)。对于这类东西,我使用关键字搜索代码文件。现在。。。现在我们可以从错误中看出更多。。。遗憾的是,这没有用。@LouysPatricebeset这些都是“旧”文件。我从jQuery 1.7.2升级到了3.3.1。在1.7.2美元中(
#
)基本上不会返回任何内容。在当前版本中,它会抛出错误。。。保持呼吸。你在一个问答网站上。与jQuery版本(和迁移sh%t)相比,有一个QA问题如果你自己找到答案,你可以这样回答自己(并获得一些代表积分)。尽可能地描述;)--我相信你知道。