提问者:小点点

无法加载jQuery(缩小的jQuery中出错)


我在一个网站上加载jQuery时遇到了一个问题,我在自己的供应商文件中使用了一个缩小版,在控制台中出现了这个语法错误:

Uncaught Error: Syntax error, unrecognized expression: [data-undefined*=]
    at Function.se.error (scripts.js?qpcd43:2)
    at se.tokenize (scripts.js?qpcd43:2)
    at se.select (scripts.js?qpcd43:2)
    at Function.se [as find] (scripts.js?qpcd43:2)
    at E.fn.init.find (scripts.js?qpcd43:2)
    at new E.fn.init (scripts.js?qpcd43:2)
    at E (scripts.js?qpcd43:2)
    at HTMLInputElement.<anonymous> (scripts.js?qpcd43:77)
    at Function.each (scripts.js?qpcd43:2)
    at E.fn.init.each (scripts.js?qpcd43:2)

这个站点上有一个旧版本的JQuery,我不能删除它,在加载供应商库和JS之前,我在HTML文件的顶部放了一个noconflict。有什么想法吗?

提前致谢:)


共1个答案

匿名用户

这不是jQuery本身的问题。我将根据错误做出假设(正如您所展示的那样),并声明错误是因为代码中某个jQuery对象中的选择器无效。

您很可能有一个看起来类似于以下两个选项之一的选择器:

$('[data-undefined*=' + foo + ']');
$(`[data-undefined*=${foo}]`);

您看到的错误是因为foo为空或未定义,所以选择器变成如下:

[data-undefined*=]

这是无效的,因为您没有在属性中提供要查找的值。