PHP怎样在html里做for循环,ajax返回数据后 拼接html时 如何在for循环里做if判断呢?汗血宝马...

在做 无限滚动加载时遇到一问题?如图

图一是 直接用thinkphp 做遍历 直接做的判断 ,如果要修改为js拼接html 如何正确做if 判断呢?

bVIk4r?w=1041&h=372

bVIk4D?w=1047&h=268

step1:

html += "xxx" + "yyy" + "xxx";

step2:

html += "xxx";

html += "yyy";

html += "xxx";

step3:

html += "xxx";

if(boolean){

html += "yyy";

}

html += "xxx";

时间那一段改为三元运算!

data[i].add_time

改为

(data[i]['borrow_type'] == 6 ? data[i]['add_time] : data[i]['first_verify_time'])

至于时间格式化 要么在php中格式化好返回,要么js里面格式化一下

function date(format,timestamp){

var a,jsdate = (timestamp) ? new Date(timestamp*1000) : new Date();

//前导0

var pad = function(n,c){

if((n=n+'').length<c){

return new Array(++c - n.length).join('0')+n;

}else{

return n;

}

}

var f = {

d: function(){ return pad(f.j(),2);},

j: function(){ return jsdate.getDate();},

m: function(){ return pad(f.n(),2);},

n: function(){ return jsdate.getMonth()+1;},

Y: function(){ return jsdate.getFullYear();},

H: function(){ return pad(jsdate.getHours(),2);},

i: function(){ return pad(jsdate.getMinutes(),2);},

s: function(){ return pad(jsdate.getSeconds(),2);}

};

return format.replace(/[\\]?([a-zA-Z])/g,function(t,s){

if(t!=s){

ret = s;

}else if(f[s]){

ret = f[s]();

}else{

ret = s;

}

return ret;

});

}

这js函数好像是在TP在线文档评论中抠出来的

个人建议,在前端还是不要拼接的好,用 jQuery 生成元素会使结构更容易理解,也更不容易出错,只是性能可能会差一点。如果使用 es6 语法可以使用模板字符串。