Как перебрать все элементы определенного класса ДО выполнения кода? - PullRequest
0 голосов
/ 15 января 2019

Допустим, у меня есть класс "собака". У меня есть 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 голосов
/ 15 января 2019

Получить все элементы div, которые имеют класс dog, и построить из них массив.

Затем используйте метод массива 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...