Задать вопрос
@Breeze1

Как использовать значения data attribute блоков для задания ширины?

https://codepen.io/brezze/pen/pXwMyL

Не могу понять, как мне в переменную width подставлять значение дата атрибута именно текущего элемента, сейчас например берется значение первого и подставляется к двум элементам.
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
О каких элементах, атрибуте/свойстве идёт речь:

const selector = '.item';
const key = 'width';
const getVal = el => `${el.dataset[key]}%`;

Обновляем стили:

$(selector).css(key, function() {
  return getVal(this);
});

// или

document.querySelectorAll(selector).forEach(n => {
  n.style[key] = getVal(n);
  // или
  n.style.setProperty(key, getVal(n));
  // или
  n.style.cssText += key + ': ' + getVal(n);
  // или
  n.setAttribute('style', key.concat(': ', getVal(n)));
});
Ответ написан
Комментировать
Замени свой js на этот:
$(".item").each(function() {
		var w = $(this).data('width');
		$(this).css('width', w + '%');
	});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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