我可以连接一个if else语句,该语句将字符串返回到服务器端呈现的HTML元素吗?

问题描述 投票:0回答:2

我正在使用一个Web应用程序,该应用程序必须根据布尔值的状态显示一个或另一个值。如果我的var“值”是true,我需要它显示“ ON”,否则它必须显示“ OFF”。

我做了这段代码,我很确定它会起作用,但是我弄错了:

var value = true // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ if(value){return "ON"} else {return "OFF"} +'</span>';

return s;

我收到“第(#3)行的语法错误”。我认为问题一定是我无法将if else语句与其余HTML元素连接起来,即使它们返回了string

您能帮我弄清楚我在做什么错吗?。

非常感谢。

javascript server-side-rendering serverside-javascript
2个回答
1
投票

[是的,您不能有这样的内联if语句,因此在这种情况下,应使用ternary operator。您可以像这样使用它:

var value = true; // actually this changes over time
var s = new String();
s += '<span style="color:white; font-size:14px; font-weight:bold;">' + "ALRM H2S:" + "</span>";
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + (value ? "ON" : "OFF") + "</span>";

return s;

0
投票

添加字符串时不能运行条件语句。我的建议是给您一个返回字符串的箭头函数。

var value = true // actually this changes over time
var s = new String();
var ifOn = () => { value? "ON" :"OFF"}
s += '<span style="color:white; font-size:14px; font-weight:bold;">'+ "ALRM H2S:" +'</span>';
s += '<span style="color: orange; font-size:14px; font-weight:bold;">' + ifOn() +'</span>'

0
投票

路易斯·拉玛略,谢谢您的回答!

我想出的代码不如您建议的那么好,但是它可以工作:

var s = new String();

var h2sStatus;

if(value){ h2sStatus = "ON"} else {h2sStatus = "OFF"}

s += '<span style="color:white; font-size:14px; font-weight:bold;">ALARM H2S: </span>';

s += '<span style="color: orange; font-size:14px; font-weight:bold;">'+ h2sStatus  +'</span>';

return s;

我发布了它,以防对某人有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.