jQuery选择器错误中的变量

时间:2017-09-05 08:59:50

标签: javascript jquery

我试图将一个变量放在jQuery选择器中。但是我假设我打破了某种形式的语法规则。如果你能发现错误,请告诉我:

var names = ["JakeP97", "Trishy", "Puffs", "Evilgenious", "Joeyc", "TheKid"];
var ballots = ["#book1", "#book2", "#book3", "#book4", "#book5", "#book6"];

function splitName(plName,ballotNum) {
    var halfplName = Math.round(plName.length / 2);
    var firstplname = plName.substr(0, halfplName);
    var lastplName = plName.substr(halfplName, plName.length);
    $(ballotNum 'ul.hardcover_front').find('li:nth-child(2)').html(firstplname);
    $(ballotNum 'ul.hardcover_back').find('li:nth-child(1)').html(lastplname);
}

for (i=0; i<ballots.length; i++) {
    splitName(names[i],ballots[i]);
}

错误发生在以下行: $(ballotNum 'ul.hardcover_front')

期望的结果是: 一直是$('#book1 ul.hardcover_front')$('#book2 ul.hardcover_front')等。

提前谢谢!

3 个答案:

答案 0 :(得分:4)

你需要连接字符串和变量。

$(ballotNum + ' ul.hardcover_front').find('li:nth-child(2)').html(firstplname);

答案 1 :(得分:1)

您错过了+标志。由于您将变量与字符串连接起来,因此需要使用+符号:

$(ballotNum + 'ul.hardcover_front')

所以这一行:

$(ballotNum 'ul.hardcover_front').find('li:nth-child(2)').html(firstplname);
$(ballotNum 'ul.hardcover_back').find('li:nth-child(1)').html(lastplname);

将更改为:

$(ballotNum + 'ul.hardcover_front').find('li:nth-child(2)').html(firstplname);
$(ballotNum + 'ul.hardcover_back').find('li:nth-child(1)').html(lastplname);

答案 2 :(得分:1)

$(ballotNum + 'ul.hardcover_front').find('li:nth-child(2)').html(firstplname);
$(ballotNum + 'ul.hardcover_back').find('li:nth-child(1)').html(lastplname);

我想你忘了添加+