DOM. Отрисовка после обновления страницы?

Подскажите как правильно отрисовать DOM элементы.
У меня есть два блока. В одном блоке (левый) есть заголовок и кнопка "Добавить". Во втором блоке (правый) мне необходимо отрисовать эти заголовки по клику на кнопку "Добавить" в правом блоке.
<div class="left">
  <p>Заголовок</p>
 <button>Добавить</button>
</div>

<div class="right">
  //отрисовать элементы заголовков левого блока по клику на кнопку "Добавить"
</div>


В js коде я создаю функуцию и вызываю эту функцию по клику на кнопке.
function addToContent(){
    //в этой функции я создаю DOM элементы заголовка, которые будут отображаться при клике на кнопку "Добавить"
   let elem = '<h2>' + id + '</h2>'; // просто наглядный пример
   let rightBlock.innerHTML = elem;
}

let btnAdd = document.querySelector('button');
btnAdd.addEventListener('click', addToContent);


У меня при клике на кнопку все отображается в моем правом блоке, но когда я обнавлю страницу браузера, то все пропадает и только отображается когда опять кликну на кнопку ДОБАВИТЬ.
Как мне сделать, что бы данные добавленные при клике на кнопку отображались даже когда обновлю страницу? Искал информацию и толком ничего не нашел или не понимаю как это реализовать. Покажите наглядно примером если можно.
  • Вопрос задан
  • 846 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
у меня все сохраняется в localStorage, но при обновлении страницы dom не отрисовывается , он только отрисовывается при нажатии на кнопку "Добавить", а я хотел бы разобраться/научиться, как отображать это DOM дерево после обновления страницы.

let id = localStorage.getItem("id")!==null?checkAndGo:0;

function checkAndGo() {
  let maId = localStorage.getItem("id");
if(maId>0){
  for(let i = 0;i<id;i++){
    let elem = `<h2> ${i+1} </h2>`;
    let rightBlock = document.querySelector('.right');
    rightBlock.innerHTML += elem;
  }
}
}

Суть в том, чтобы при открытии страницы каждый раз проверять чему равно значение блоков и если оно 0++, заполнить тем кол-вом контейнеров, которым нужно.
Но я бы сделал отдельную функцию на создание блоков(получая кол-во) и отдельную на отрисовку, которая бы запускала функцию создания/удаления,изменения из себя, в зависимости от нужды.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vaajnur
битриксоид
Ваш ответ на вопрос

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

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