Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2016, 04:30
Новичок на форуме
Отправить личное сообщение для Jucamba Посмотреть профиль Найти все сообщения от Jucamba
 
Регистрация: 07.02.2016
Сообщений: 2

AppendChild при каждой иттерации заменять добавленыый тег
var area = document.querySelector('#posts');

for (var i = 1; i <= localStorage.length; i++) {
      var articleTemplate = document.querySelector('#post').innerHTML;
      var article = document.createElement('article');

      articleTemplate = articleTemplate.replace('{{title}}', JSON.parse(localStorage.getItem('object' + [i])).title);
      articleTemplate = articleTemplate.replace('{{body}}', JSON.parse(localStorage.getItem('object' + [i])).body);
      
      var tags = JSON.parse(localStorage.getItem('object' + [i])).tags;

      var tagButton = document.createElement('button');
      tagButton.className = 'btn btn-xs btn-default';

      // создаем разметку
      article.setAttribute('id', [i]);
      article.innerHTML = articleTemplate;
      area.appendChild(article);

      var tagContainer = article.querySelector('.tags');

      for (var j = 0; j < tags.length; j++) {
        tagButton.textContent = tags[j];
        tagContainer.appendChild(tagButton);
      }
      
    }


мы создаем разметку выводим ее на страницу, потом в это разметке находим обертку и создаем перемнную tagContainer и я хочу в эту обертку запихать несколько кнопок с тегами. На каждой иттерации цикла 'j' кнопка заменяет предыдущую, почему так происходит и как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2016, 07:54
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Потому что в DOM дереве не может существовать двух одинаковых указателей на один и тот же элемент на одном уровне вложенности. 12 и 13 строчку в цикл.
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2016, 11:10
Новичок на форуме
Отправить личное сообщение для Jucamba Посмотреть профиль Найти все сообщения от Jucamba
 
Регистрация: 07.02.2016
Сообщений: 2

Афигеть все работает, Спасибо! но я нифига не понял почему))) можешь дать больше инфы, объяснить или скинуть полезную ссылку?
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2016, 11:15
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от Jucamba Посмотреть сообщение
Афигеть все работает, Спасибо! но я нифига не понял почему))) можешь дать больше инфы, объяснить или скинуть полезную ссылку?
http://javascript.ru/tutorial/dom/intro
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать ненужный тег br при выводе из Mysql mnpartner AJAX и COMET 1 25.09.2014 08:47
Реализация скрипта. Изменение дерева при вводе каждой следующей буквы слова. WDha AJAX и COMET 0 04.11.2009 00:19