我有这个附加声明
$("#questions").append($("<tr><td>" + if(value.NA == true) { + "<input type='checkbox' id='" + value.Question_ID + "-na' class='na' /> " + } + "</td>");
我正在尝试向追加添加条件,但是我收到了这个错误:
Uncaught SyntaxError: Unexpected token if
我假设这是非法的,那么完成我想要完成的工作的最佳方法是什么?
答案 0 :(得分:5)
if
不能在字符串中使用。
使用变量存储HTML并使用append
中的变量。
var input = ''; // Set as empty string
if(value.NA === true) {
input = "<input type='checkbox' id='" + value.Question_ID + "-na' class='na' /> ";
}
$("#questions").append($("<tr><td>" + input + "</td>"));
也可以使用三元运算符(?..:
)
$("#questions").append($("<tr><td>" + (value.NA ? "<input type='checkbox' id='" + value.Question_ID + "-na' class='na' /> " : '') + "</td>"));
答案 1 :(得分:1)
您可以使用Javascript conditional (ternary) operator:
$("#questions").append($("<tr><td>" + (value.NA ? "<input type='checkbox' id='" + value.Question_ID + "-na' class='na' /> " : "") + "</td>");