我有一个类似的代码(从外部服务渲染信息):
var myList = {'id1' : {prop1:'v1', prop2:'v2'},
'id2' : {prop1:'v3', prop2:'v4'}};
for (var k in myList) {
var html = '<div id="xxx">stuff</div>';
html.data('item', myList[k]);
$('#parentDiv').append(html);
}
因为在使用 for (x in y)
时我不能依赖顺序,所以我想将元素插入特定位置,假设按 prop1
排序。
那么,如何将附加更改为 prop1
立即小于插入的实际元素的元素之后的插入?
最佳答案
如何使用数组:
var myList = {'id1' : {prop1:'v1', prop2:'v2'},
'id2' : {prop1:'v30', prop2:'v4'},
'id3' : {prop1:'v13', prop2:'v4'}},
sorted = [];
for (var k in myList) {
sorted.push(myList[k]);
}
sorted.sort(function (a,b) {
return a.prop1 > b.prop1;
});
for (var i = 0; i < sorted.length; i++) {
var html = '<div id="xxx">stuff</div>';
html.data('item', sorted[i]);
$('#parentDiv').append(html);
}
关于javascript - 使用 JQuery 排序插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678495/