jquery 动态添加排序

$strs='';for(vari=0;i<$len;i++){if(eval(data)[i]){if(data[i]['tag']==2){$rows='date_m... $strs='';

for(var i=0;i<$len;i++)
{
if(eval(data)[i])
{
if(data[i]['tag']==2){$rows='date_m:last'}else{$rows='date_m'}
$strs += "<li class='"+$rows+"'>pddd</li>";
}
}
结果:<li class='date_m'>pddd</li>
<li class='date_m:last'>pddd</li>

<li class='date_m'>pddd</li>
我想当data[i]['tag']==2时 class='date_m:last' 排到最后一个li的后面
展开
 我来答
著名医生陈国良
2014-04-03 · TA获得超过1125个赞
知道小有建树答主
回答量:484
采纳率:0%
帮助的人:569万
展开全部
var data = [{tag:1},{tag:2},{tag:1}];
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</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做排序
});
xbc0010249
2014-04-03 · TA获得超过249个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:100万
展开全部
class 的名字怎么可以有冒号的吗?没有见过,$("li").parent().append("<li class='date_m_last'>sssss</li>");用append试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b58662e56
2014-04-03 · TA获得超过163个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:145万
展开全部
$strs='';

var lastLi;

for(var i=0;i<$len;i++){

                if(eval(data)[i]){  

                   if(data[i]['tag']==2){lastLi='date_m:last'}else{$rows='date_m'}

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

                }

}
if(lastLi)$strs += "<li class='"+lastLi+"'>pddd</li>";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式