2015-07-30 5 views
1

В настоящее время я пытаюсь размещать определенные блоки кода каждый раз, когда загружается вызов Ajax. Я использую Append, чтобы сделать это, и это выглядит следующим образом:JQuery append with multiple divs

$("#wrap").append(" 
    <div class='newData'> 
    <div class='infoBox'> 
     " + firstName + lastName + " 
    </div> 
    </div>" 
); 

Мой Ajax выглядит следующим образом:

$.ajax({ 
     type: "GET", 
     url: "feed.php", 
     dataType: 'json', 
     success: function(data) { 
      for(i = 0; i < data.length; i++){ 
      firstName = data[i].First_Name; 
      lastName = data[i].Last_Name; 

      // wrap.innerHTML += '<div class="newData">' + firstName + lastName +'</div>'; 
      $("#wrap").append(" 
       <div class='newData'> 
       <div class='infoBox'> 
       " + firstName + lastName + " 
       </div> 
       </div>"); 
      } 
     } 
    }); 

Когда я пытаюсь не делать этого ничего придумывает. Если я выберу div infoBox, я заставлю его работать. Это правильный способ сделать это. Я буду добавлять несколько разных div внутри этого с переменными из моего вызова Ajax. Есть ли лучшие способы сделать это или это правильный подход, но он сделал неправильно?

ответ

4

Вы не конкатенируете его должным образом.

Он должен выглядеть следующим образом:

$("#wrap").append("<div class='newData'>" + 
         "<div class='infoBox'>" + 
         firstName + lastName + 
         "</div>" + 
        "</div>"); 
+0

Высокий Я понимаю. Это общий способ приблизиться к этому или есть лучшие методы? – RightLeftRight12

+0

@ RightLeftRight12 Да, я так считаю. Не уверен, что лучше, но то, что я обычно делаю, это поместить блоки внутри переменной, а затем вызвать ее, когда это необходимо. Например. 'var block ="

...
";' затем использовать его '$ (" # wrap "). append (block);' –