首页 > 解决方案 > JS中TD内的三元条件运算符

问题描述

我在 td 中有以下三元条件运算符:

for (var i = pagina * tamanhoPagina; i < data.length && i < (pagina + 1) *  tamanhoPagina; i++) {
    Ida = data[i][0];
    Paraa = data[i][9];
    Stat = data[i][10];

.append($(`<td class="table__content" data-heading="Assunto" data-alerta="${ Ida }, ${ Paraa }"  ${ Stat } != "0"?" style="font-weight:bold; font-size: 90%" ":" style="font-weight:normal; font-size: 90%" ">`).append(data[i][2]))
)

从数据库返回数据时,变量${Stat}不为零的数据应为粗体,等于零的数据应为正常颜色。

但是无论变量是零还是非零,td 总是以粗体显示。

标签: javascript

解决方案


`... ${ Stat } != "0"?" style="font-weight:bold; font-size: 90%" ":" style="font-weight:normal; font-size: 90%" "> ...`

这个字符串模板的每个部分都是一个字符串文字,除了${ Stat },它是一个插值变量。您必须将所有变量表达式放入 中${ }才能对其进行评估。而且由于您唯一要更改的是normalto bold,因此您可以删除很多重复数据:

`<td ... style="font-weight: ${ Stat != 0 ? 'bold' : 'normal' }; font-size: 90%">`

推荐阅读