テンプレートdivを複製してデータセットの要素を作成するときに問題が発生しました。データ配列のテンプレートを複製するときのクラス
問題は、各データレコードの要素の作成間にクラスが累積することです。
例JS:
$(document).ready(function(){
var data = [
{cls: 'test1',text:'test1'},
{cls: 'test2',text:'test2'},
{cls: 'test3',text:'test3'}
];
for(var x in data)
{
var item = $('#itemTemplate').clone().removeClass('template');
item.addClass(data[x].cls).html(data[x].text);
$('#test-container').prepend(item);
}
});
とHTMLボディ:
<div id="test-container">
</div>
<div id="itemTemplate" class="template">
</div>
これが生成します。
<div id="test-container">
<div id="itemTemplate" class="test1 test2 test3">test3</div>
<div id="itemTemplate" class="test1 test2">test2</div>
<div id="itemTemplate" class="test1">test1</div>
</div>
をそれだけでtest3
あるべきtest1 test2 test3
に注意してください。私は何かを逃しているのか、それとも間違っているのか?
jQueryでテストされた1.7 & 1.6.4。