我有一个字符串,其中部分字符串取决于变量json[i].has_dishwasher
是否包含值。如果它包含值,则class="selected"
将添加到html字符串中。为了缩短我的代码(我实际上有一长串代码如下所示),我打算使用三元if
运算符。
问题:我使用三元if
条件语句的方式无效Javascript。我怎样才能使这个有效?
Javascript代码
html = '<div class="amenities"' + (json[i].has_dishwasher ? +'class="selected"'+) \
+ '>Dishwasher' + json[i].has_dishwasher + '</div>';
答案 0 :(得分:2)
你需要添加三元组的“tri”部分,它应该返回只是字符串,不包括连接(+
)运算符。
... + (json[i].has_dishwasher ? 'class="selected"' : '') + ...
但这不是你想要的;这会让你有两个独立的“类”属性。除了创建HTML字符串之外,我可能会创建“class”属性的值:
var classVal = "amenities" + (json[i].has_dishwasher ? " selected" : "");
或者只是在有条件的情况下进行并保持清洁。
var classVal = "amenities";
if (json[i].has_dishwasher) classVal += " selected";
html = '<div class="' + classVal + '>Dishwasher'
+ json[i].has_dishwasher + '</div>';
答案 1 :(得分:1)
html = '<div class="amenities"' + (json[i].has_dishwasher ? ' class="selected"' : '') + '>Dishwasher' + json [i].has_dishwasher + '</div>';