我在SO :)的第一个问题。我实际上需要以对象数组的形式加载数据,如下所示:
var data = [
{
'id': '1',
'firstName': 'Megan',
'lastName': 'Fox',
'picture': 'images/01.jpg',
'bio': 'bla bla bla bla.'
},
{
'id': '2',
'firstName': 'Robert',
'lastName': 'Pattinson',
'picture': 'images/02.jpg',
'bio': 'bli bli bli bli.'
}
然后我想用这种结构在HTML中显示数据:
<div class="wrapper">
<article>
<header>
<h2>[firstName 1 here]<h2>
</header>
<section>
<p>[bio 1 here]</p>
</section>
</article>
<article>
<header>
<h2>[firstName 2 here]<h2>
</header>
<section>
<p>[bio 2 here]</p>
</section>
</article>
</div>
我创建的JS函数如下:
var loadArtists = function() {
var $tmpHtml = '';
for (var artist in artists) {
var objArtist = artists[artist],
fullname = objArtist.firstName + ' ' + objArtist.lastName,
bio = objArtist.bio,
id = objArtist.id,
pic = objArtist.picture;
$tmpHtml += '<article><header data-id="' + id + '"><h2>' + fullname + '</h2></header><section data-id="' + id + '"><div class="imgContainer"><img alt="' + fullname + '" src="' + pic + '" /></div><h2 class="hiddenName">' + fullname + '</h2><p>' + bio + '</p></section></article>';
}
$('div.wrapper').append($tmpHtml);
};
这些代码好吗?或者有更好,更优雅的方式构建HTML?
谢谢!
答案 0 :(得分:2)
感谢您的回答。我最终使用 Mustache.js 来改善我的代码。感谢Murali的jQuery模板链接,这使我对一些可用的HTML模板库进行了更多的研究。我之所以没有使用jQuery模板,是因为它已经停止使用,而且还没有得到jQuery团队的支持。
答案 1 :(得分:0)