三元操作 JS 不起作用
Ternary operation JS not working
我尝试这样做:
$('#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'));
注意:上面重写为原始错误地将新类添加到按钮而不是封闭的范围。
+
的运算符优先级高于三元运算符。组他们要清楚。
$('#hire_button').html((data.code == 500 ?
"<span class='alert alert-danger>" :
"<span class='alert alert-success>") + data.info + "</span>");
分组运算符是您在此处使用的运算符,因为它具有最高的优先级。
关于运算符优先级的 MDN
试试这个:
$('#hire_button').html(data.code == 500 ? "<span class='alert alert-danger>" : ("<span class='alert alert-success>" + data.info + "</span>"));
相关文章:
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- 使用immutable.js在Redux中操作嵌套数组中的数据
- Javascript-Nightmare.JS无限滚动操作
- 使用Angular JS for WordPress JSON API使用JSON操作数据
- 以非ajax方式将js对象传递给mvc操作
- 节点.js中的嵌套异步操作
- 是否可以将alertify.js的cancel按钮和onclose调用的操作分开
- React.js中显示了模态时如何执行某些操作
- Flux+React.js-回调操作是好是坏
- 在 React JS 中,什么时候应该使用存储而不是直接操作视图的状态
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- 节点.js和表达式:如何在异步操作后返回响应
- ZF:js 被识别,但在操作视图中不起作用
- 如何使用 Minitest 触发 JS 控制器操作
- Ember.js-定义一个全局函数,该函数可以向操作返回值
- 我正在尝试使用JS/JQuery自动对网站中的文本执行多个查找和替换操作
- 这是关于Jquery/JS的,如果我改变元素's HTML-我可以对它执行其他Jquery/JS操作吗
- 如何将HTML页面操作的范围限定为JS/Coffee文件中的唯一UserId
- 三元操作 JS 不起作用
- 我应该把DOM操作JS脚本放在' '还是在结束' '之前?