使用jQuery追加div,然后将更多项添加到没有ID的新div中

Mer*_*ent 4 jquery

我需要使用jQuery将带有'address-line'类的div附加到另一个id为'add-results'的元素,然后将几个元素添加到新创建的div中.然后对对象的每个项重复此操作.

这是我最终想要的结果:

<div id="add-results">    
  <div class="address-line">
    <h2>title 1</h2>
    <p>desc 1</p>
    <img src="thing1.png" />
  </div>
  <div class="address-line">
    <h2>title 2</h2>
    <p>desc 2</p>
    <img src="thing2.png" />
  </div>
  <!-- etc repeated on a loop -->
</div>
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的很多东西之一(chdata是对象,chvalue将保存数据):

$.each(chdata, function(name, chvalue) {
  $('#add-results').append('<div class="address-line">');
  $('#add-results').append('<h2>'+chvalue['title']+'</h2>');
  // etc.. adding paragraph, an image, some links.
});
Run Code Online (Sandbox Code Playgroud)

..但当然导致这个:

<div id="add-results">
  <div class="address-line"></div>
  <h2>title 1</h2>
  <p>desc 1</p>
  <img src="thing1.png" />
  <div class="address-line"></div>
  <h2>title 2</h2>
  <p>desc 2</p>
  <img src="thing2.png" />
</div>
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用:

$('#add-results').append('<div class="address-line">')
.append('<h2>'+chvalue['title']+'</h2>');
Run Code Online (Sandbox Code Playgroud)

..但同样的结果.我怎样才能做到这一点?

xda*_*azz 5

你可以使用.appendTo方法.

$.each(chdata, function(name, chvalue) {    
  $('<div class="address-line">')
    .append('<h2>'+chvalue['title']+'</h2>')
    // etc.. adding paragraph, an image, some links.
    .appendTo('#add-results'); // at last appendTo the #add-results
});
Run Code Online (Sandbox Code Playgroud)

  • +1使用`.appendTo`(保留链接) (3认同)