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

时间:2015-12-12 20:19:42

标签: jquery jquery-selectors

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

  参数列表

之后的

Uncaught SyntaxError:missing)

问题:第二个代码段有什么问题?除了变量filterInputElement = $($(".rgFilterRow")[0].cells[columnIndex]).find("input[type='text']"); 之外,它与第一个代码段完全相同。我尝试在查找第二个代码段的部分中转义双引号,但仍然会出现相同的错误。

适用的原始选择

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

新选择器,其中包含不起作用的选定类的变量

inline double Par3D::getValue(const double& x, const double& t ) const {
  double g1 = m_parameters[3] + m_parameters[4]*TMath::ATan(m_parameters[5]*(t-0.3)) ;
  double g0 = m_parameters[0] + m_parameters[1]*TMath::ATan(m_parameters[2]*(t-0.3)) ;
  return  g0  +  g1*TMath::ATan(m_parameters[6]*(x-0.3)) ;
}

更新

在jQuery选择器中使用变量时要记住的一点是,使用一个或多个变量的连接应该在jQuery选择器的左右括号内,即jQuery选择器的括号不应该包含在连接中。 / p>

2 个答案:

答案 0 :(得分:4)

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

\选择器中的+ "之后您不需要filterRowClass$()

答案 1 :(得分:2)

您需要更新

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

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