我尝试在jQuery append()
中使用三元表达式。我已经检查了控制台,没有显示任何错误。问题是tr
没有附加到tbody
。
$(".invoice table tbody").append("<tr> \
<td> <span class=''>" + price.toFixed(0) == 0 ? Obs : 1 + "</span></td> \
<td> <span class=''>" + price.toFixed(2) + "</span> </td> \
<td> <input type='checkbox' name='removeItem' class='removeItemCheckBox'/></td> \
</tr>");
答案 0 :(得分:3)
? :
运算符不是&#34; lambda表达式&#34 ;;它是条件运算符。问题是它的优先级非常低,所以你必须将它括起来:
$(".invoice table tbody").append("\
<tr> \
<td> <span class=''>" + (price.toFixed(0) == 0 ? Obs : 1) + "</span></td> \
<td> <span class=''>" + price.toFixed(2) + "</span> </td> \
<td> <input type='checkbox' name='removeItem' class='removeItemCheckBox'/></td> \
</tr> \
");
如果没有括号,任何一方的+
运算符都会优先,整个表达式会有所不同。