如何在jQuery模板字符串的${}中插入if条件
解决模板字符串${}中插入条件判断的问题
你当前的问题是在模板字符串的插值${}里直接写if...else语句块,这是行不通的——因为${}只支持能返回值的表达式,而if...else是语句,没有返回值,所以会导致语法错误。
下面给你两种可行的解决方式:
1. 用三元条件运算符(最简洁)
三元运算符是表达式,能直接返回对应条件下的值,完美适配模板字符串的插值需求:
$('#inactive_list_body').append(` <tr> <td>${value['name']}</td> <td>${value['status'] === 'false' ? value['identifier'] : value['status']}</td> <td>${value['reason_without_or_inactive']}</td> </tr> `);
这里建议用===严格相等判断,避免隐式类型转换带来的意外问题。
2. 提前计算值(适合复杂逻辑)
如果后续条件逻辑变复杂,先在模板字符串外计算好要展示的内容,再插入会更易读:
// 先计算要显示的内容 const displayContent = value['status'] === 'false' ? value['identifier'] : value['status']; // 再插入模板字符串 $('#inactive_list_body').append(` <tr> <td>${value['name']}</td> <td>${displayContent}</td> <td>${value['reason_without_or_inactive']}</td> </tr> `);
内容的提问来源于stack exchange,提问作者XRT-NoOne
相关产品推荐
相关产品推荐

