我正在尝试使用带有变量的 jQuery 选择器作为类选择器,如下面的第二个代码片段所示。虽然第一个代码片段工作完美,但第二个代码片段会抛出一个错误,显示
Uncaught SyntaxError: missing ) after argument list
问题:第二个代码片段有什么问题?除了 rgFilterRow 变量之外,它与第一个代码片段相同。我尝试转义第二个代码片段的 find 部分中的双引号,但仍然给出相同的错误。
有效的原始选择器
filterInputElement = $($(".rgFilterRow")[0].cells[columnIndex]).find("input[type='text']");
带有所选类变量的新选择器不起作用
var filterRowClass = "rgFilterRow";
filterInputElement = $($("." + filterRowClass + ")[0].cells[columnIndex]).find(\"input[type='text']\")";
更新
在 jQuery 选择器中使用变量时要记住的一点是,使用一个或多个变量的串联应位于 jQuery 选择器的左括号和右括号内,即 jQuery 选择器的括号不应包含在串联中。
最佳答案
var filterRowClass = "rgFilterRow";
filterInputElement = $($("." + filterRowClass)[0].cells[columnIndex]).find("input[type='text']");
在 $()
选择器中的 filterRowClass
之后不需要 \
和 + "
。
关于当变量用作选择器时,jQuery 选择器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244546/