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>