jQuery如何对div进行排序

阿猫远征军
  • 43
<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实现。

评论
阅读 18.9k
2 个回答
✓ 已被采纳

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/

浮華一玍_DL
  • 1
新手上路,请多包涵

用$.each(),简单的写一下:

function changeOrder(order) { //参数order为获取排序顺序例如:['1','2','3']
 	if (typeof(order) == 'string') {
 		order = eval(order);
 	} 			
 	$.each(order, function(i){
 		$('.container').append(jQuery('#'+order[i]));
 	});
 }
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏