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

Как пронумеровать уже назначенные ID?

Имеются блоки с ID:

<table id="responsivetable" class="restab" border="1">
....
</table>

Имеется скрипт, который обрабатывает блок с данным ID.
Надо добавить каждому ID номер, чтобы получилось responsivetable1, responsivetable2, responsivetable+n.
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
О каких элементах идёт речь, какая у них должна быть общая часть id:

const elements = document.querySelectorAll('.restab');
const baseId = 'responsivetable';

Как назначать id в зависимости от индекса:

const setId = (el, index) => el.id = `${baseId}${-~index}`;

// или

const setId = (el, index) => el.setAttribute('id', baseId + ++index);

// или

const setId = (el, index) => {
  const id = document.createAttribute('id');
  id.value = baseId.concat(index + 1);
  el.attributes.setNamedItem(id);
};

Назначаем:

elements.forEach(setId);

// или

for (const [ i, n ] of elements.entries()) {
  setId(n, i);
}

// или

for (let i = 0; i < elements.length; i++) {
  setId(elements[i], i);
}

// или

(function next(i, n = elements.item(i)) {
  n && (setId(n, i), next(-~i));
})(0);
Ответ написан
Комментировать
[...document.querySelectorAll('#responsivetable')].forEach((n, i) => n.id += i);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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