leon9208
@leon9208
Начинающий web-developer

Как добавить определенные атрибуты к нескольким элементам DOM?

Доброго времени суток. Прошу помощи новичку от профи и не только.
В JS я совсем еще новичок, с поисковиком дружу, только вот сформулировать вопрос по JQuery(евски) пока не получается )))
Суть задачи следующая:
1) Определить у div блока свойство css, background-color, которые заданы в CSS. (Сделал)
2) Добавить этому же div блоку атрибут data-color, с найденным ранее значением (background-color). (Сделал)

Так вот, как быть, если у меня несколько таких div блоков с разным классом и разным значением цвета фона, не повторять ведь JQuery код для разных div блоков ?! Пробовал добавлять классы через запятую "," - не работает )))

Вот пример того что я сделал. КЛИК!
$(document).ready(function() {
			var bgColor = $('.panel0').css('background-color'); //Определяем цвет фона
			$('.panel0').attr('data-color', bgColor); //Добавляем атрибут с найденным цветом фона
    });
  • Вопрос задан
  • 402 просмотра
Решения вопроса 3
@KFan
Веб-программист
$('.panel').each(function () {
      var bgColor = $(this).css('background-color'); //Определяем цвет фона
      $(this).attr('data-color', bgColor); //Добавляем атрибут с найденным цветом фона
});
Ответ написан
Wolfnsex
@Wolfnsex Куратор тега CSS
Если не хочешь быть первым - не вставай в очередь!
Подозреваю, что как-то так.

$(document).ready(function() {
      $('.panel0 .panel1 .panel2').each(function(i, e) {
        var bgColor = $(this).css('background-color'); //Определяем цвет фона
        $(this).attr('data-color', bgColor); //Добавляем атрибут с найденным цветом фона
      })						
    });


Ещё можно .panel0 .panel1 .panelX заменить на div и операция будет проходить со всеми слоями вообще...
Ответ написан
У вас ведь есть класс "panel". Через него и добавляйте.
$('.panel').each(function( index ) {
      var bgColor = $(this).css('background-color');
      $(this).attr('data-color', bgColor); 
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы