JavaScript 检查 class 是否包含数组的一个或多个值
JavaScript check if class contains one or more values of an array
我有一个这样的数组:
var testVar = {
"test": [{
"atn": "xxx1",
"price": 9999999
}, {
"atn": "xxx2",
"price": 9999999
}]
};
和html喜欢:
<span class="testClass">xxx1</span>
<span class="testClass">yyy</span>
<span class="testClass">pppp</span>
现在我想检查一个或多个 .testClass 是否至少包含此数组中的一个值。然后计算它的价值。
我用 jquery 尝试过(inArray(),包含,对于每一个……但我不明白这一点 ^^)。
感谢所有有想法的人 =)
快速回答
var testVar = {
"test": [{
"atn": "xxx1",
"price": 9999999
}, {
"atn": "xxx2",
"price": 9999999
}]
};
var testClasses = document.getElementsByClassName("testClass");
[].forEach.call(testClasses, function (testClass) {
for (var i = 0; i < testVar.test.length; i++) {
if (testVar.test[i]["atn"] === testClass.innerHTML) {
console.log("found value = " + testClass.innerHTML);
}
}
});
<span class="testClass">xxx1</span>
<span class="testClass">yyy</span>
<span class="testClass">pppp</span>
我有一个这样的数组:
var testVar = {
"test": [{
"atn": "xxx1",
"price": 9999999
}, {
"atn": "xxx2",
"price": 9999999
}]
};
和html喜欢:
<span class="testClass">xxx1</span>
<span class="testClass">yyy</span>
<span class="testClass">pppp</span>
现在我想检查一个或多个 .testClass 是否至少包含此数组中的一个值。然后计算它的价值。
我用 jquery 尝试过(inArray(),包含,对于每一个……但我不明白这一点 ^^)。
感谢所有有想法的人 =)
快速回答
var testVar = {
"test": [{
"atn": "xxx1",
"price": 9999999
}, {
"atn": "xxx2",
"price": 9999999
}]
};
var testClasses = document.getElementsByClassName("testClass");
[].forEach.call(testClasses, function (testClass) {
for (var i = 0; i < testVar.test.length; i++) {
if (testVar.test[i]["atn"] === testClass.innerHTML) {
console.log("found value = " + testClass.innerHTML);
}
}
});
<span class="testClass">xxx1</span>
<span class="testClass">yyy</span>
<span class="testClass">pppp</span>