我正在尝试获取if else语句以在Javascript中工作。 这是原始代码(没有if语句),并且可以正常工作:
html += "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>"+
"<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"+
我的想法是在第一行添加if / else语句。如果字段UrlBuyer为空,则不要建立href链接。
类似下面的内容,但是不起作用。
html += if(item['UrlBuyer'] == null){
"<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>"+
} else {"<td>"+item['ID']+"</td>"+
}
"<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"+
答案 0 :(得分:1)
语法不正确。试试这个:
if(item['UrlBuyer'] == null){
html += "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>" + "<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"
} else {
html += "<td>"+item['ID']+"</td>"+"<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"
}
答案 1 :(得分:1)
尝试三元:
html += item['UrlBuyer'] == null ?
"<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>"+
: "<td>"+item['ID']+"</td>"+
"<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"+
答案 2 :(得分:1)
您可以使用条件运算符:
html += (item['UrlBuyer'] == null) ? "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>" + "<td>"+item['ImportDatum']+"</td>"+ "<td>"+item['ReceiptLimitDate']+"</td>" : "<td>"+item['ID']+"</td>"+"<td>"+item['ImportDatum']+"</td>"+ "<td>"+item['ReceiptLimitDate']+"</td>";
还阅读了this answers about the conditional operators and how to use it
答案 3 :(得分:1)
您也可以尝试在if else
块内返回
html += if(item['UrlBuyer'] == null){
return "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>"+
} else { return "<td>"+item['ID']+"</td>"+
}
"<td>"+item['ImportDatum']+"</td>"+
"<td>"+item['ReceiptLimitDate']+"</td>"+
答案 4 :(得分:0)
更好或更简单的事情是定义一个变量并有条件地向其添加内容:
var html = "";
if(item['UrlBuyer'] == null){
html += "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>";
} else {
html += "<td>"+item['ID']+"</td>";
}
html += "<td>"+item['ImportDatum']+"</td><td>"+item['ReceiptLimitDate']+""</td>";
同样...
答案 5 :(得分:0)
一方面,编写内联if / else语句的语法如下(称为三元条件):
(condition) ? <code if true> : <code if false>
但是最重要的是,您应该将代码分成多个步骤,以使其更具可读性。从长远来看,这样的事情会更有意义/更易于维护:
if(item['UrlBuyer'] === null) {
html += "<td>"+item['ID']+"</td>"
} else {
html += "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>";
}
html += "<td>"+item['ImportDatum']+"</td>";
html += "<td>"+item['ReceiptLimitDate']+"</td>";
答案 6 :(得分:0)
如果这是PHP代码中的HTML,则您要检查的数组(例如:item ['UrlBuyer'])为PHP数组,而不是在JavaScript中进行检查。与其他html一样,PHP中的Javascript应该位于字符串“”中的标记中。 由于item ['UrlBuyer']是您要检查的PHP数组项目,因此您可以按以下方式重新编写代码;
<?php
if(item['UrlBuyer'] == null){
html += "<td><a href='"+item['UrlBuyer']+"' target='blank'>"+item['ID']+"</a></td>";
} else {
html += "<td>"+item['ID']+"</td>";
}
html += "<td>"+item['ImportDatum']+"</td>"+"<td>"+item['ReceiptLimitDate']+"</td>";
?>