在执行代码之前,如何遍历某些类的所有元素?

时间:2019-01-15 09:49:49

标签: javascript jquery if-statement

比方说我有一个“狗”课。我有5个元素都具有“狗”类。我要检查是否所有具有“狗”类的元素都具有特定的背景色。如果他们有我想执行某些代码。我确实要遍历每个元素并在每次迭代之间执行代码。我想要的是在执行代码之前先检查所有具有特定背景颜色的元素。

我尝试过:

function openBtn () {
  green = 'rgb(144, 238, 144)';

  if ($('.glassver').css('background-color') == green || $('.glasshor').css('background-color') == green || $('.glassxyz').css('background-color') == green) {
    $('#orderBtn').removeAttr('disabled', 'disabled');
    $('#orderBtn').css("background-color", "#3da669");
  } else {
    $('#orderBtn').attr('disabled', 'disabled');
    $('#orderBtn').css("background-color", 'lightgray');
  }
}

1 个答案:

答案 0 :(得分:2)

获取所有具有dog类的div元素,并从中构建一个数组。

然后使用数组的every方法检查背景色条件。 如果对所有人都正确,请执行代码

const dogs = Array.from(document.querySelector('div.dog'));
if (dogs.every(d => d.style.backgroundColor === 'red')) {
  console.log('do some code');
}
<div class="dog" style="background-color:red">DOG 1</div>
<div class="dog" style="background-color:red">DOG 2</div>