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

Как из списка дата-атрибутов сделать массив?

Здравствуйте. Имеется тег с дата-атрибутом:
<div data-value="1,2,3,4,5,6,7,8,9"></div>
Как из него получить массив вида, используя jquery:
['1','2','3','4','5','6','7','8','9']
  • Вопрос задан
  • 610 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
О каком data-атрибуте идёт речь:

const key = 'value';
const attr = `data-${key}`;
const selector = `[${attr}]`;

Получаем элемент:

const $el = $(selector);
// или
const el = document.querySelector(selector);

Достаём из элемента значение атрибута:

const str = $el.data(key);
// или
const str = $el.attr(attr);
// или
const str = el.dataset[key];
// или
const str = el.getAttribute(attr);
// или
const str = el.attributes[attr].value;

Превращаем полученную строку в массив:

const arr = str.split(',');
// или
const arr = str.match(/\d+/g) || [];
// или
const arr = str.split(/\D/);
// или
const arr = JSON.parse(`[${str}]`); // вместо строк тут будут числа
// или
const arr = eval('[' + str + ']'); // и тут тоже числа
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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