为每个播放列表生成 HTML 标记的最佳方法是什么?

What is the best way to generate HTML markup for each playlist?

我想知道如何实现以下目标。我使用 Soundcloud API 将所有播放列表导入网站。这一点,我已经完成了 Soundcloud HTTP 部分。

现在我想将每个 playlist/album 包括该专辑的曲目列表和封面图片放在 div 元素中。那张专辑的持有者。标记的布局很简单:左边是一个包含专辑封面的图形,右边是一个包含专辑曲目的无序列表。

我想问的是,最好的方法是把每张专辑都放在一个 div 中,每次都使用相同的标记。

我现在拥有的是。在我的 HTML 中,一个 div 持有人持有所有 playlist/album。然后它应该填充每个函数。

HTML

<div class="row albums"></div> <!-- All albums here -->

JS

var albumHolder = $('.albums');
$(playlists).each(function(index, playlist) {
    var playlistID = playlist.id;

    albumHolder.append('<div id="#' + playlistID + '"></div>');

});

以上代码将为每个播放列表创建一个 div,该播放列表的 id 位于包含所有专辑的 albumHolder 中。

总而言之:我想每次都使用相同的布局,并为我使用上述代码创建的 album div 中的每个相册生成该布局。

最佳方法完全取决于您的应用程序的性质

说,你整个页面只有专辑和相关歌曲,你可以继续,每次都重写HTML!

但是如果页面上有其他组件(例如,菜单、搜索字段等),在这种情况下,抓取整个页面并不是一个好主意!在这里你应该只重写专辑和播放列表的parent-div。这样您就不必重新加载其他内容,并且可以提供更好的用户体验。

希望这能回答您的问题。

更新:

要替换部分HTML可以参考下面的代码

$('#append').click(function(){
 $('#container').append('<b> Hello </b>');
 
});
$('#replace').click(function(){
 $('#container').html('<b> I am just replaced!</b>');
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>I would like to say: <span id="container">I am the Dummy Text</span></p>
<button id="replace">Replace Dummy Text</button>
<button id="append">Append Hello</button>