一个三元运算符会在.text()里面工作吗?

时间:2014-05-01 14:30:53

标签: javascript dom

我希望将此附加到我的DOM中以获取每个答案_'在我的数据库中。

.append('<span>')
.text(format_date(answer_.LastModifiedDate))

但是.LastModifiedDate不会永远存在。我可以在文本字段中检查.LastModifiedDate吗?也许是这样的?

.append('<span>')
.text((answer_.LastModifiedDate) ? format_date(answer_.LastModifiedDate) : '')

哪个不起作用......

修改

我愚蠢地检查了answer_.LastModifiedDate,而不仅仅是回答。 所以以下行可行。感谢所有回复!

.append('<span>')
.text((answer_) ? format_date(answer_.LastModifiedDate) : '')

3 个答案:

答案 0 :(得分:2)

当然有效。三元运算符可以在通常放置变量的任何位置工作。它们评估为一个值,就像使用字符串文字一样。

答案 1 :(得分:1)

@FreeAsInBeer指出,三元无处不在 您的代码唯一的问题是您不能仅使用(可能)不存在的值作为布尔值来检查它是否已定义;你如何检查变量是否持有&#34; false&#34;存在? 相反,您需要检查变量类型:

.text(typeof answer_.LastModifiedDate !== 'undefined' ? format_date(answer_.LastModifiedDate) : '')

答案 2 :(得分:0)

我愚蠢地检查了answer_.LastModifiedDate,而不仅仅是回答。所以以下行可行。感谢所有回复!

.append('<span>')
.text((answer_) ? format_date(answer_.LastModifiedDate) : '')