作为 ID 的 JQuery 变量导致未捕获错误:语法错误,无法识别的表达式:'#cell32'

Posted

技术标签:

【中文标题】作为 ID 的 JQuery 变量导致未捕获错误:语法错误,无法识别的表达式:\'#cell32\'【英文标题】:JQuery variable as ID results in Uncaught Error: Syntax error, unrecognized expression: '#cell32'作为 ID 的 JQuery 变量导致未捕获错误:语法错误,无法识别的表达式:'#cell32' 【发布时间】:2014-09-25 03:23:31 【问题描述】:

我有以下代码:

var currentRow = this.id.charAt(4);
var testRow = Number(currentRow) - 1;
var testCellId = "'#cell" + currentRow + testRow +"'";
var testCell = $(testCellId).get(0);

它会导致错误: “未捕获的错误:语法错误,无法识别的表达式:'#cell32'”

如果我使用变量值#cell32,而不是变量:

var testCell = $('#cell32').get(0);

没有错误。

我还检查了 console.log(testCellId) 并且变量确实包含正确的值。

我错过了什么?

【问题讨论】:

【参考方案1】:

你有一组额外的引号。 您的 jQuery 选择器应该只是 #cell32,而不是 '#cell32'

所以:

var testCellId = "#cell" + currentRow + testRow;

您似乎将 字符串文字 周围的 " 和/或 ' 字符误认为是它们描述的实际字符串的一部分,但事实并非如此;他们只是介绍或界定它。

【讨论】:

对不起 - 忘记接受答案!现在检查了:-)

以上是关于作为 ID 的 JQuery 变量导致未捕获错误:语法错误,无法识别的表达式:'#cell32'的主要内容,如果未能解决你的问题,请参考以下文章

已修复:Wordpress 站点未捕获类型错误:jQuery(...).live 不是导致带有 JS 的图像不显示的函数

jQuery.browser:Javascript 未捕获的类型错误

jquery 数据表:“未捕获的类型错误:无法读取未定义的属性‘长度’”在销毁和重新初始化后。表作为数据源

使用 PrimeFaces 手动添加/加载 jQuery 会导致未捕获的 TypeErrors

Angular 2 从 Jquery 调用 Typescript 函数会导致未捕获的 TypeError

Bootstrap 设置错误:未捕获 ReferenceError:未定义 jQuery 和未捕获错误:Bootstrap 的 JavaScript 需要 jQuery