作为 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'的主要内容,如果未能解决你的问题,请参考以下文章