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

标签 jquery jquery-selectors

我正在尝试使用带有变量的 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/

相关文章:

javascript - 在特定下拉列表中选择时,从所有其他选定的多个下拉列表中删除选项

javascript - jQueryUI Selectable(如果元素 hasClass ui-selected)不起作用?

javascript - 关于 jQuery 源代码的问题 == on window

javascript - 如何用 Jquery 替换文本?

jquery - 如何组合两个选择器?

jquery - 我如何了解 jQuery 选择器在幕后如何工作?

javascript - 使用 jQuery 预加载图像,这样就不会闪烁

javascript - jquery/javascript 连接问题

javascript - 如何将模型从 Backbone 集合克隆到另一个

jquery - 如何在 jQuery 中的复选框数组上设置监听器?