var?data?=?[{tag:1},{tag:2},{tag:1}];
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍陵企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,龍陵網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(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ù)單獨(dú)存一個(gè)變量,最后再拼接到$strs后邊。
還有一個(gè)方法是先對(duì)data數(shù)組進(jìn)行排序,再做循環(huán)。
data?=?data.sort(?function(a,?b){
return?a.tag?-?b.tag;?//按每個(gè)數(shù)組項(xiàng)下的tag做排序
});
思路:
1、利用jquery選擇器獲取li數(shù)組和ul節(jié)點(diǎn)
2、通過數(shù)組的sort方法對(duì)li進(jìn)行排序
3、根據(jù)ul節(jié)點(diǎn),清空原來li,再把排序后的li節(jié)點(diǎn)添加進(jìn)去
代碼:
script
function?onTest(){
var?arr?=???$('li');
arr.sort(function(a,b){
return?a.innerHTMLb.innerHTML?1:-1;
});//對(duì)li進(jìn)行排序,這里按照從小到大排序
$('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
如果想實(shí)現(xiàn)排序,你可以通過用ol的屬性進(jìn)行排序。下面是個(gè)小例子:
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?是一個(gè)元素集合,只是有數(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對(duì)無序列表排序的原理:
獲取到無序列表中的所有列表項(xiàng),并轉(zhuǎn)成數(shù)組形式,使用JavaScript函數(shù)對(duì)其進(jìn)行排序后再次輸出。其中使用到的jQuery函數(shù)有ready()、get()、text()、each()、append()和JavaScript函數(shù)sort()。
1)jQuery函數(shù)get()--獲取匹配元素集合
該函數(shù)取得所有匹配元素的一種向后兼容的方式(不同于jQuery對(duì)象,實(shí)際上是元素?cái)?shù)組)。
2)jQuery函數(shù)text()--獲取和設(shè)置元素內(nèi)容
該函數(shù)獲取和設(shè)置匹配元素的文本內(nèi)容。
3)jQuery函數(shù)append()--向元素追加內(nèi)容
該函數(shù)向每個(gè)匹配的元素內(nèi)部追加內(nèi)容。
4)JavaScript函數(shù)sort()--元素排序
用于對(duì)數(shù)組元素進(jìn)行排序。
實(shí)現(xiàn)無序列表項(xiàng)排序功能的步驟如下。
(1)獲取所有的列表項(xiàng),并將其裝入數(shù)組。
(2)對(duì)數(shù)組對(duì)象進(jìn)行排序。
(3)將排好序的數(shù)組重新填充到無序列表中。
當(dāng)前名稱:jquery數(shù)組排序,數(shù)組排序 js
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article14/dsdjcge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、搜索引擎優(yōu)化、建站公司、做網(wǎng)站、用戶體驗(yàn)、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)