将值用作 jquery 选择器时出错
Error using value as jquery selector
我将一个数组 idArray
传递给每个函数 jQuery,然后我用它来获取值。我正在尝试使用这些值来创建一个新的 jQuery 选择器。
下面是一个 idArray 示例:
Array[4]
0 : "5"
1 : "6"
2 : "8"
3 : "9"
这是我的代码:
function editGigs(idArray) {
console.log(idArray); // Produces array correctly
$(idArray).each(function(k, v) {
trId = "'#row" + v + "'";
console.log(trId); // Produces '#row5'
$(trId).find('.td.forename').css('background-color', 'black');
});
}
报错如下:
Uncaught Error: Syntax error, unrecognized expression: '#row5'
但是,当我将“#row5”添加到代码本身的最后一行作为 id 选择器时,它起作用了...?!我使用 jQuery 每个函数的值作为 id 选择器的方式似乎有问题。
您不必在选择器中使用单引号 ''
:
trId = "'#row" + v + "'";
应该是:
trId = "#row" + v;
由于字符串默认已经有双引号 ""
,所以当您添加单引号时,结果是无效的选择器,如下所示:
$("'#rowV'")
希望这对您有所帮助。
我将一个数组 idArray
传递给每个函数 jQuery,然后我用它来获取值。我正在尝试使用这些值来创建一个新的 jQuery 选择器。
下面是一个 idArray 示例:
Array[4]
0 : "5"
1 : "6"
2 : "8"
3 : "9"
这是我的代码:
function editGigs(idArray) {
console.log(idArray); // Produces array correctly
$(idArray).each(function(k, v) {
trId = "'#row" + v + "'";
console.log(trId); // Produces '#row5'
$(trId).find('.td.forename').css('background-color', 'black');
});
}
报错如下:
Uncaught Error: Syntax error, unrecognized expression: '#row5'
但是,当我将“#row5”添加到代码本身的最后一行作为 id 选择器时,它起作用了...?!我使用 jQuery 每个函数的值作为 id 选择器的方式似乎有问题。
您不必在选择器中使用单引号 ''
:
trId = "'#row" + v + "'";
应该是:
trId = "#row" + v;
由于字符串默认已经有双引号 ""
,所以当您添加单引号时,结果是无效的选择器,如下所示:
$("'#rowV'")
希望这对您有所帮助。