Задать вопрос
mrusklon
@mrusklon
Не получается? Яростно гугли!

Как увеличить число внутри строки?

Есть у меня к примеру

<ul>
    <li id="a1"></li>
    <li id="a2"></li>
    <li id="a3"></li>
    <li id="a4"></li>
</ul>
<a href="#">button</a>

Нужно при нажатии на кнопку добавлять еще li, только id должен быть уже a5, a6 и т.д. Как это сделать?
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const ul = document.querySelector('ul');

document.querySelector('a').addEventListener('click', () => {
  const id = ul.lastElementChild.id.replace(/\d+$/, m => ++m);
  ul.insertAdjacentHTML('beforeend', `<li id="${id}"></li>`);

  // или

  const li = ul.querySelector('li:last-child').cloneNode(true);
  li.id = li.id.replace(/\d/g, '').concat(-~ul.children.length);
  ul.append(li);

  // или

  const li = document.createElement('li');
  li.id = 'a' + (+ul.children[ul.children.length - 1].id.slice(1) + 1);
  ul.insertBefore(li, null);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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