Как создавать и добавлять новые дивы внутри цикла?

#javascript #html #jquery

Вопрос:

Я работаю над приложением для занятий, похожим на твиттер. Я пытаюсь создать новый твит $для каждой итерации цикла и добавлять каждый твит в свой контейнер $feed. Однако при запуске отображается только первый твит в массиве. Моя гипотеза заключается в том, что создается и добавляется только один твит$, и каждая итерация просто перезаписывает его. Вот мой пример кода.

 var renderfeed = function() {  $feed.empty();  var index = streams.home.length - 1;  while (index gt;= 0) {  // for (var i = 0; i lt; index   1; i  ) {  var tweet = streams.home[index];  var $tweet = $('lt;div class="tweet"gt;lt;/divgt;');  $tweet.appendTo($feed);  console.log(tweet);  console.log(streams.home);  console.log($tweet);    //assingning values to variable to be pushed into $tweet div, icons already established  $userName.text('@'   tweet.user);  $profilePhoto.attr("src", tweet.profilePhotoURL);  $message.text(tweet.message);  $timeStamp.text(tweet.created_at);   //appending child elements to $tweet  $profilePhoto.appendTo($tweet);  $userName.appendTo($tweet);  $message.appendTo($tweet);  $timeStamp.appendTo($tweet);  $like.appendTo($tweet);  $retweet.appendTo($tweet);  $comment.appendTo($tweet);  $share.appendTo($tweet);   index -= 1;  } };  
  • Streams.home — это массив объектов

Комментарии:

1. я действительно это понял. $tweet создавался для каждой итерации цикла while, но его дочерние элементы были объявлены вне цикла, поэтому только последний элемент $tweet фактически добавлял к нему что-либо.