首页 > jQuery如何对div进行排序

jQuery如何对div进行排序

<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/

【热门文章】
【热门文章】