上面的代码适用于根据'level'插入项目而不使用任何复杂的排序算法,但是有一个问题,当没有现成标记时,级别2仍然会在级别1之上。
$(document).ready(function() {
$('button').click(function() {
var lvl = $('select').val();
var ref = $('li.level' + lvl).last();
var newLi = $('<li class="level'+ lvl + '">' + lvl + ' </li>');
console.log(ref);
(ref.length > 0) ? newLi.insertAfter(ref) : $("ul").append(newLi);
});
});
答案 0 :(得分:0)
我已按照您的预期编辑了你的小提琴:http://jsfiddle.net/Hms7Y/23/
基本上我已经在每次点击时添加了这个控件:
if($("ul").children().length>0){
$("li").each(function(){
if(lvl <= parseInt($(this).html())){
newLi.insertBefore($(this));
}else{
newLi.insertAfter($(this));
}
});
}else{
$("ul").append(newLi);
}