javascript - 三元运算符 JS 不起作用

标签 javascript ternary-operator

我尝试这样做:

$('#hire_button').html(data.code == 500 ?  "<span class='alert alert-danger>" : "<span class='alert alert-success>" + data.info + "</span>");

但它返回或success>或空行。我做错了什么?

最佳答案

? : 三元运算符的优先级低于 + 连接运算符,因此您正在构建不匹配的标签。

但是,恕我直言,您应该重构代码以避免重复,并同时自动修复优先级问题:

$('#hire_button').empty().append($('<span>', text: data.info, class: 'alert'})
   .addClass(data.code == 500 ? 'alert-danger' : 'alert-success'));

注意:上面重写为原始错误地将新类添加到按钮而不是封闭的范围。

关于javascript - 三元运算符 JS 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28028574/

相关文章:

swift - 整数值 ?? 0 == -1? "-": "+" What does this mean?

javascript - 如何在数据更新时更新可重用的 d3.js 图形?

javascript - 我如何从谷歌索引中隐藏查询字符串?

javascript - Chrome 自动错放结束标签

javascript - 按年份查找 YouTube 视频

javascript - 在 JavaScript 中,如何以简单的方式检查 "a"与 "b," "c,"等?

php - 三元运算符。有可能单方面行动吗?

javascript - 如何在 javascript/Node.js 中向数组添加数组

c - C中三元运算符采用不同操作数类型的原理

php - if else 运算符短方式