如何用jquery对列表进行排序?

如何用jquery对列表进行排序?,第1张

思路:

1、利用jquery选择器获取li数组和ul节点

2、通过数组的sort方法对li进行排序

3、根据ul节点,清空原来li,再把排序后的li节点添加进去

代码:

<script>

function onTest(){

  var arr =   $('li')

  arr.sort(function(a,b){

    return a.innerHTML>b.innerHTML?1:-1

  })//对li进行排序,这里按照从小到大排序

  $('ul').empty().append(arr)//清空原来内容添加排序后内容。

}

</script>

</head>

<body>

<ul>

 <li>b</li>

 <li>a</li>

 <li>d</li>

 <li>c</li>

</ul>

<a  onclick="onTest()">按钮</a>

</body>

</html>

var data = [{tag:1},{tag:2},{tag:1}]

var $strs='', $strs2='', $len=data.length

for(var i=0i<$leni++)

{

if(data[i])

{   

if(data[i]['tag']==2){

$strs2 += "<li class='date_m:last'>pddd</li>"   

}else{

$strs += "<li class='date_m'>pddd</li>"   

}         

}

}

$strs += $strs2

//"<li class='date_m'>pddd</li><li class='date_m'>pddd</li><li class='date_m:last'>pddd</li>"

将tag=2的数据单独存一个变量,最后再拼接到$strs后边。

还有一个方法是先对data数组进行排序,再做循环。

data = data.sort( function(a, b){

    return a.tag - b.tag //按每个数组项下的tag做排序

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11773609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存