Jquery 在构造表时使用if语句

Jquery 在构造表时使用if语句,jquery,html,Jquery,Html,我正在根据ajax调用的结果生成一个动态表。我必须根据if语句的结果更改一个单元格的背景颜色。 有人知道如何做到这一点吗 生成表的代码 var today = "<?php echo $Today;?>"; var enddate = todate + " " + totime; console.log("End date", enddate); var tr_str = "<tr class='TableText'>" + "<td style='c

我正在根据ajax调用的结果生成一个动态表。我必须根据if语句的结果更改一个单元格的背景颜色。 有人知道如何做到这一点吗

生成表的代码

var today = "<?php echo $Today;?>";
var enddate = todate + " " + totime;

console.log("End date", enddate);


var tr_str = "<tr class='TableText'>" +
    "<td style='color:#333;font-size:0.8em;'>" + promotionname + "</td>" +
    "<td  style='color:#333;font-size:0.8em;'>" + deviceid + " " + screenlocation + "</td>" +
    "<td align='center'  style='color:#333;font-size:0.8em;'>" + orientation + "</td>" +
    "<td  style='color:#333;font-size:0.8em;'>" + promotionimage + "</td>" +
    "<td  align='center'  style='color:#333;font-size:0.8em;'>" + mediatype + "</td>" +
    "<td  style='color:#333;font-size:0.8em;'>" + fromdate + "</td>" +
    "<td  style='color:#333;font-size:0.8em;'>" + todate + "</td>" +

// HOW CAN I PLACE AN IF STATEMENT HERE
if (enddate < today) {
    "<td align='center' style='color:#333;font-size:0.8em;' class='Complete'>Complete</td>" +
} else {
    "<td align='center' style='color:#333;font-size:0.8em;' class='Scheduled'>Scheduled</td>" +
}

"<td align='center'  style='color:#333;font-size:0.8em;'><input type='button' name='edit' value='Edit' id=" + (i + 1) + " class='btn btn-info btn-xs btn-block edit_data'></td>" +
    "</tr>";
$("#userTable tbody").append(tr_str);

非常感谢您的时间和帮助。

如果我答对了您的问题。您希望将基于条件附加到一个行字符串变量,可以通过以下方式实现。 您应该通过删除结尾处的+来完成将初始html分配给tr_str变量的语句,并以结束

然后将条件块内的代码更改如下

// HOW CAN I PLACE AN IF STATEMENT HERE
if(enddate < today ) {
    tr_str = tr_str + "<td align='center' style='color:#333;font-size:0.8em;' class='Complete'>Complete</td>";
} else {
    tr_str = tr_str +"<td align='center' style='color:#333;font-size:0.8em;' class='Scheduled'>Scheduled</td>" +
}

如果我没有弄错你的问题。您希望将基于条件附加到一个行字符串变量,可以通过以下方式实现。 您应该通过删除结尾处的+来完成将初始html分配给tr_str变量的语句,并以结束

然后将条件块内的代码更改如下

// HOW CAN I PLACE AN IF STATEMENT HERE
if(enddate < today ) {
    tr_str = tr_str + "<td align='center' style='color:#333;font-size:0.8em;' class='Complete'>Complete</td>";
} else {
    tr_str = tr_str +"<td align='center' style='color:#333;font-size:0.8em;' class='Scheduled'>Scheduled</td>" +
}

我不知道日期时间变量的格式,因此无法确认ifenddate 您正在创建一个包含HTML代码的变量。在IF语句点:a停止创建tr_str变量,即以分号结束,b执行IF语句,将适当的字符串追加到tr_str变量,c继续追加到变量:

var today = "<?php echo $Today;?>";
var enddate = todate + " " + totime;

console.log("End date", enddate);


var tr_str = "<tr class='TableText'>" +
"<td style='color:#333;font-size:0.8em;'>" + promotionname + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + deviceid + " " + screenlocation + "</td>" +
"<td align='center'  style='color:#333;font-size:0.8em;'>" + orientation + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + promotionimage + "</td>" +
"<td  align='center'  style='color:#333;font-size:0.8em;'>" + mediatype + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + fromdate + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + todate + "</td>";

// HOW CAN I PLACE AN IF STATEMENT HERE
if(enddate < today ) {
    tr_str += "<td align='center' style='color:#333;font-size:0.8em;' class='Complete'>Complete</td>" +
} else {
    tr_str = += "<td align='center' style='color:#333;font-size:0.8em;' class='Scheduled'>Scheduled</td>" +
}

tr_str += "<td align='center'  style='color:#333;font-size:0.8em;'><input type='button' name='edit' value='Edit' id=" + (i+1) + " class='btn btn-info btn-xs btn-block edit_data'></td>" +
"</tr>";
$("#userTable tbody").append(tr_str);

我不知道日期时间变量的格式,因此无法确认ifenddate 您正在创建一个包含HTML代码的变量。在IF语句点:a停止创建tr_str变量,即以分号结束,b执行IF语句,将适当的字符串追加到tr_str变量,c继续追加到变量:

var today = "<?php echo $Today;?>";
var enddate = todate + " " + totime;

console.log("End date", enddate);


var tr_str = "<tr class='TableText'>" +
"<td style='color:#333;font-size:0.8em;'>" + promotionname + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + deviceid + " " + screenlocation + "</td>" +
"<td align='center'  style='color:#333;font-size:0.8em;'>" + orientation + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + promotionimage + "</td>" +
"<td  align='center'  style='color:#333;font-size:0.8em;'>" + mediatype + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + fromdate + "</td>" +
"<td  style='color:#333;font-size:0.8em;'>" + todate + "</td>";

// HOW CAN I PLACE AN IF STATEMENT HERE
if(enddate < today ) {
    tr_str += "<td align='center' style='color:#333;font-size:0.8em;' class='Complete'>Complete</td>" +
} else {
    tr_str = += "<td align='center' style='color:#333;font-size:0.8em;' class='Scheduled'>Scheduled</td>" +
}

tr_str += "<td align='center'  style='color:#333;font-size:0.8em;'><input type='button' name='edit' value='Edit' id=" + (i+1) + " class='btn btn-info btn-xs btn-block edit_data'></td>" +
"</tr>";
$("#userTable tbody").append(tr_str);

回答得好-+1。请注意,要在问题中包含代码,您可以在每行代码前面加上4个空格或一个制表符,或者在代码字符串周围加上回勾。代码段必须全部位于一行,因此最好用于单词或短片段。好答案-+1。请注意,要在问题中包含代码,您可以在每行代码前面加上4个空格或一个制表符,或在代码字符串周围加上回勾。代码段必须全部位于一行,因此最好用于单词或短片段。下面的答案涵盖了此问题,但是,您应该真正避免将内联样式添加到HTML中。尤其是在td元素上重复的规则。注意使用类和外部样式表。跟进这个问题。提供的答案是如何得出的?您是否有任何其他问题,我们可以就此问题提供任何进一步的帮助?下面的答案涵盖了此问题,但是您应该真正避免将内联样式添加到HTML中。尤其是在td元素上重复的规则。注意使用类和外部样式表。跟进这个问题。提供的答案是如何得出的?您是否有任何其他问题,我们可以就此问题提供任何进一步的帮助?这是我使用的代码。ifenddate