将值用作 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'")

希望这对您有所帮助。