一旦我使用jtemplates创建基于json数据的dom元素,根据json数据的更改(排序,过滤等)重新排序这些元素的最佳方法是什么. 最佳答案 所以我现在用来解决这个问题的方法就是为每个模板化的html部分添加一个带编号的索引,如下所示:
<div id="list">
<div id="items-start"></div>
{#foreach $T as item}
<div id="item-{$T.item$index}" class="item">
...lots of stuff...
</div>
{#/for}
</div>
然后在我的json项目中,我添加了一个名为InitialIndex的属性来跟踪哪个dom项目与json中的每个项目相关联.这样,在我对json数据进行任何更改之后,我可以调用这个简单的函数将更改应用到dom:
function applyListChanges(items) {
$('.item').hide();
for (var item in items) {
var index = items[item].InitialIndex;
$('#items-start').append($('#item-' + index));
$('#item-' + index).show();
}
}
如果您有更好的解决方案,请告诉我.