我需要使用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)
..但同样的结果.我怎样才能做到这一点?
你可以使用.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)