<div class='container'> <div id='1'> <div class='name'>bbbb</div> <div class='number'><input type='text' value='110'></div> </div> <div id='2'> <div class='name'>cccc</div> <div class='number'><input type='text' value='120'></div> </div> <div id='3'> <div class='name'>dddd</div> <div class='number'><input type='text' value='140'></div> </div> </div>
根据input里面的value值对div进行排序,最好是jquery实现。
用$.each(),简单的写一下:
function changeOrder(order) { //参数order为获取排序顺序例如:['1','2','3'] if (typeof(order) == 'string') { order = eval(order); } $.each(order, function(i){ $('.container').append(jQuery('#'+order[i])); }); }
jQuery中有sort()方法可用,和Array.sort()方法一样。
//递增 var asc = function(a, b) { return $(a).find('input').val() > $(b).find('input').val() ? 1 : -1; } //递减 var desc = function(a, b) { return $(a).find('input').val() > $(b).find('input').val() ? -1 : 1; } var sortByInput = function(sortBy) { var sortEle = $('.container>div').sort(sortBy); $('.container').empty().append(sortEle); }
http://jsfiddle.net/zfcnM/