gpt4 book ai didi

html - 如何将多个 CSS 类添加到单个数组

转载 作者:行者123 更新时间:2023-11-28 07:16:22 25 4
gpt4 key购买 nike

这是部分脚本,我正在将 Oracle DB 中的表以 HTML 格式打印到电子邮件中,其中包含 3 列;对于第 3 列,只有两个值:PASSFAIL。如果单元格为PASS,则单元格的bgcolor将为绿色,如果为FAIL,我想要 bgcolorRED

下面的代码有效,但我不确定如果条件为 FAIL,如何添加另一个类(red)。

  chomp($ary[2]);
push(@HTML,sprintf("<td%s>%s</td>",
(($ary[2]) eq "PASS")? " class=\"green\"" : "",
$ary[2]));

最佳答案

只需用空字符串以外的内容结束三元条件:

push(@HTML, sprintf('<td class="%s">%s</td>', ($ary[2] eq 'PASS' ? 'green' : 'red'), $ary[2]));

不过,当简单的字符串插值就可以时,您真的需要 sprintf 吗?这会产生可以说更具可读性的代码:

my $class = $ary[2] eq 'PASS' ? 'green' : 'red';
push(@HTML, "<td class='$class'>$ary[2]</td>");

编辑:回答下面的第二个问题。我会使用简单的条件而不是多级三元运算符,因为我发现它的可读性更高。

my $class;

if ($ary[2] eq 'PASS') {
$class = 'green';
} elsif ($ary[2] eq 'FAIL') {
$class = 'red';
} else {
$class = 'yellow';
}

push(@HTML, "<td class='$class'>$ary[2]</td>");

关于html - 如何将多个 CSS 类添加到单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com