var?data?=?[{tag:1},{tag:2},{tag:1}];
成都創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍陵企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,龍陵網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
var?$strs='',?$strs2='',?$len=data.length;
for(var?i=0;i$len;i++)
{
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/lili?class='date_m'pddd/lili?class='date_m:last'pddd/li"
將tag=2的數(shù)據(jù)單獨存一個變量,最后再拼接到$strs后邊。
還有一個方法是先對data數(shù)組進行排序,再做循環(huán)。
data?=?data.sort(?function(a,?b){
return?a.tag?-?b.tag;?//按每個數(shù)組項下的tag做排序
});
思路:
1、利用jquery選擇器獲取li數(shù)組和ul節(jié)點
2、通過數(shù)組的sort方法對li進行排序
3、根據(jù)ul節(jié)點,清空原來li,再把排序后的li節(jié)點添加進去
代碼:
script
function?onTest(){
var?arr?=???$('li');
arr.sort(function(a,b){
return?a.innerHTMLb.innerHTML?1:-1;
});//對li進行排序,這里按照從小到大排序
$('ul').empty().append(arr);//清空原來內(nèi)容添加排序后內(nèi)容。
}
/script
/head
body
ul
lib/li
lia/li
lid/li
lic/li
/ul
a??onclick="onTest();"按鈕/a
/body
/html
!DOCTYPE?html
html
head
meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8"
script?class="jquery?library"?src="/js/sandbox/jquery/jquery-1.8.2.min.js"?type="text/javascript"/script
titleRunJS?演示代碼/title
script
$(function()?{
var?ic?=?$(".item_content");
var?divs?=?ic.find("div");
var?arr?=?divs.get();
arr.sort(function(a,?b)?{
var?ai?=?parseFloat($(a).attr("index"),?10);
var?bi?=?parseFloat($(b).attr("index"),?10);
if?(ai??bi)?{
return?1;
}?else?if?(ai??bi)?{
return?-1;
}?else?{
return?0;
}
});
ic.append(arr);
});
/script
/head
body
div?class='item_content'
div?index="131"1/div
div?index="01"2/div
div?index="12"3/div
div?index="13"4/div
div?index="31"5/div
div?index="31"6/div
div?index="17"7/div
/div
/body
/html
如果想實現(xiàn)排序,你可以通過用ol的屬性進行排序。下面是個小例子:
body
ul?id="ul"
ol?id="1"li1111111/li/ol
ol?id="4"li2222222/li/ol
ol?id="3"li3333333/li/ol
ol?id="2"li4444444/li/ol
/ul
/body
script
var?oUl?=?document.getElementById('ul');
var?aOl?=?oUl.children;????//aOl?是一個元素集合,只是有數(shù)組的方法。但不具備sort
var?arr?=?[];
for(var?i=0;iaOl.length;i++)
{
arr.push(aOl[i]);
}
arr.sort(function(a,b){return?a.id?-?b.id});??//這里用了數(shù)組的sort排序。
for(var?i=0;iarr.length;i++)
{
oUl.appendChild(arr[i]);???//重新加入oUl中。排序成功
}
/script
利用jQuery對無序列表排序的原理:
獲取到無序列表中的所有列表項,并轉(zhuǎn)成數(shù)組形式,使用JavaScript函數(shù)對其進行排序后再次輸出。其中使用到的jQuery函數(shù)有ready()、get()、text()、each()、append()和JavaScript函數(shù)sort()。
1)jQuery函數(shù)get()--獲取匹配元素集合
該函數(shù)取得所有匹配元素的一種向后兼容的方式(不同于jQuery對象,實際上是元素數(shù)組)。
2)jQuery函數(shù)text()--獲取和設(shè)置元素內(nèi)容
該函數(shù)獲取和設(shè)置匹配元素的文本內(nèi)容。
3)jQuery函數(shù)append()--向元素追加內(nèi)容
該函數(shù)向每個匹配的元素內(nèi)部追加內(nèi)容。
4)JavaScript函數(shù)sort()--元素排序
用于對數(shù)組元素進行排序。
實現(xiàn)無序列表項排序功能的步驟如下。
(1)獲取所有的列表項,并將其裝入數(shù)組。
(2)對數(shù)組對象進行排序。
(3)將排好序的數(shù)組重新填充到無序列表中。
當(dāng)前名稱:jquery數(shù)組排序,數(shù)組排序 js
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/article14/dsdjcge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、搜索引擎優(yōu)化、建站公司、做網(wǎng)站、用戶體驗、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)