我正在尝试使用带有变量的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>
答案 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']");