上記のコードは、複雑な並べ替えアルゴリズムを使用せずに「レベル」に従ってアイテムを挿入する場合にうまく機能しますが、準備が整ったマークアップがない場合、レベル 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);
});
});