最終的なイメージ

たとえばこんな感じで表を作りたいとします。

<table>
<tr>
<th>星1つ</th>
<td>2</td>
</tr>
<tr>
<th>星2つ</th>
<td>4</td>
</tr>
<tr>
<th>星3つ</th>
<td>5</td>
</tr>
</table>

html & js

名前と値が対になるような表なので次のようにdata属性を設定します。

html
<div class="star" data-star='{"星1つ":2,"星2つ":4,"星3つ":5}'></div>

jQueryのコードはdata属性を読み込んだら、数だけappendさせれば完成です。

javascript
(function($) {
$(function() {
$('.star').each(function(){
var that = $(this);
var starData = that.data('star');
if (starData) {
that.append('<table></table>');
$.map(starData, function(value, key) {
that.find('table').append('<tr><th>'+key+'</th><td>'+value+'</td></tr>');
});
}
});
});
})(jQuery);

値の数だけ画像を生成する

これだけだとわざわざjs使うまでもないですが、例えば次のように「難易度:~」みたいに星画像を並べたいときは、そのままimgを配置してマークアップするとわかり難いですね。

<table>
<tr>
<th>難易度</th>
<td>
<img src="img/star.png">
<img src="img/star.png">
</td>
</tr>
<tr>
<th>ほげ度</th>
<td>
<img src="img/star.png">
<img src="img/star.png">
<img src="img/star.png">
<img src="img/star.png">
</td>
</tr>
...
</table>

そんなときは次のようにdata属性を設定して、

html
<div class="star" data-star='{"難易度":2,"ほげ度":4,"ふが度":5}'></div>

data属性で設定した値は数値で扱えますので、そのままループで回せば数の分だけ画像を追加できます。

javascript
$('.star').each(function(){
var that = $(this);
var starData = that.data('star');
if (starData) {
that.append('<table></table>');
$.map(starData, function(value, key) {
var out = '<tr><th>'+key+'</th><td>';
for (var i=0; i < value; i++) {
out += '<img src="img/star.png">';
}
out += '</td></tr>';
that.find('table').append(out);
});
}
});

かなり局地的にしか使えない小回り系コードでしたが以上です。
data属性はその場でjsのオプション的に設定できたりするので、他にもいろいろとできそうですね。