作为 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