【发布时间】:2016-02-18 14:24:34
【问题描述】:
我正在使用一个数组来附加到一个基类名称,这样我就可以遍历不同的类。
第一位工作正常。对数组进行计数,只要我排除最后两行代码,我就会在控制台中获得所有所需的类名。
但是一旦我添加最后两行循环并尝试添加构造的类名以获取每个类的不同文本值,我会收到以下错误:
未捕获的错误:语法错误,无法识别的表达式:'.moduleStatusDIS'
它在数组的第一次迭代时停止。代码如下。
function setModuleStatusColour() {
var array = ["DIS", "DDG", "CDX", "DKM", "DBV", "DBB", "DGK", "DAM", "LOG", "DUS", "DCL", "DRI"];
var arrayLength = array.length;
console.log(arrayLength);
for (x=0; x < arrayLength; x++){
var className = "'"+'.moduleStatus'+array[x]+"'";
console.log(className);
var statusValue = $(className).text();
console.log(statusValue);
}
}
我也尝试使用 eval() (虽然我知道它已被弃用,但绝望让我变得更好)见下文。结果与上面的代码相同。
function setModuleStatusColour() {
var array = ["DIS", "DDG", "CDX", "DKM", "DBV", "DBB", "DGK", "DAM", "LOG", "DUS", "DCL", "DRI"];
var arrayLength = array.length;
console.log(arrayLength);
for (x=0; x < arrayLength; x++){
var className = "'"+'.moduleStatus'+array[x]+"'";
console.log(className);
eval('var statusValue = $(className).text()');
console.log(statusValue);
}
}
甚至尝试将 var className 转换为字符串,但对我也没有用。
如果我逐个类地写出来并且不使用数组来构造名称,它可以正常工作,但我尝试保持代码简短并易于添加。所以这成了一个原则问题:)
任何帮助将不胜感激!
【问题讨论】:
-
停止向选择器附加单引号?
标签: javascript jquery arrays class