无法正确地将类添加到表td

时间:2016-01-06 21:25:27

标签: jquery

我想在正在处理的值上动态添加redclass或greenclass。

请问为什么我为最后一个td获取greenclass而不是redclass

最后一个td属于第30天

这是我的代码

var eres = {
    "twentyday": 2176.8575,
    "tenday": 2235.3,
    "thirtyday": 2105.25,
    "last_close": 2168.25
}

var html = '';
var classtoadd = 'redclass'

var day10 = parseFloat(eres.tenday);
var day20 = parseFloat(eres.twentyday);
var day30 = parseFloat(eres.thirtyday);
var last_close = parseFloat(eres.last_close);

day10 = day10.toFixed(2);
day20 = day20.toFixed(2);
day30 = day30.toFixed(2);


if (day10 > last_close) {
    classtoadd = 'greenclass';
}


if (day20 > last_close) {
    classtoadd = 'greenclass';
}

if (day30 > last_close) {
    classtoadd = 'greenclass';
}

html += '<tr><td>Market Price</td><td class="">' + last_close + "</td></tr>", html += '<tr><td>10DAY</td><td class="' + classtoadd + '">' + day10 + "</td></tr>", html += '<tr><td>20 Day</td><td class="' + classtoadd + '">' + day20 + "</td></tr>", html += '<tr><td>30 Day</td><td class="' + classtoadd + '">' + day30 + "</td></tr>", html += "</tbody>"

$("#smatable").html(html)

这是我的小提琴

https://jsfiddle.net/h4JXs/3336/

您能否告诉我如何解决此问题

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,你试图在一个变量中显示3种不同的状态。如果状态需要不同,则需要为每个状态使用变量。

var class10 = day10 > last_close ? "greenclass" : "redclass";
var class20 = day20 > last_close ? "greenclass" : "redclass";
var class30 = day30 > last_close ? "greenclass" : "redclass";

html += '<tr><td>10 Day</td><td class="' + class10 + '">' + day10 + '</td </tr>'; 
html += '<tr><td>20 Day</td><td class="' + class20 + '">' + day20 + '</td </tr>'; 
html += '<tr><td>30 Day</td><td class="' + class20 + '">' + day30 + '</td </tr>';