jQuery 当变量用作选择器时选择器不起作用

jQuery selector not working when a variable is used as selector

我正在尝试使用带有变量的 jQuery 选择器作为 class 选择器,如下面的第二个代码片段所示。虽然第一个代码片段完美运行,但第二个代码片段会抛出一个错误

Uncaught SyntaxError: missing ) after argument list

问题:第二个代码片段有什么问题?它与第一个代码片段相同,除了 rgFilterRow 的变量。我尝试在第二个代码片段的查找部分中转义双引号,但它仍然给出相同的错误。

有效的原始选择器

filterInputElement = $($(".rgFilterRow")[0].cells[columnIndex]).find("input[type='text']");

带有选定变量的新选择器 class 不起作用

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 之后不需要 \+ "

您需要更新

filterInputElement = $($("." + filterRowClass  + ")[0].cells[columnIndex]).find(\"input[type='text']\")";

filterInputElement = $($("." + filterRowClass)[0].cells[columnIndex]).find("input[type='text']");