javascript forEach 检查所有元素 true/false

olo*_*olo 2 javascript

我有几节课

<div class="adiv"></div>
<div class="adiv"></div>
<div class="adiv cc"></div>
<div class="adiv"></div>
<div class="adiv"></div>

document.querySelectorAll('.adiv').forEach((v, i) => {
    console.log(v.classList.contains('cc'));
});
Run Code Online (Sandbox Code Playgroud)

结果依次为 2 x false、1 x true、2 x false。问题是如何写下面的内容,如何一起检查?请不要使用 jQuery。非常感谢

if (output is all true) return true else false? 
Run Code Online (Sandbox Code Playgroud)

zzz*_*Bov 5

用于Array.prototype.every检查数组中的每个元素是否都通过谓词。

[1, 2, 3].every((num) => num > 0); // true
Run Code Online (Sandbox Code Playgroud)

因为您使用的是document.querySelectorAll,所以您需要将其返回的类似数组的对象转换为实际的数组。

您可以用于Array.from此用途。

结合起来,您将得到:

allCC =
  Array.from(document.querySelectorAll('.adiv'))
    .every((node) => node.classList.contains('cc'));
Run Code Online (Sandbox Code Playgroud)