Javascript:if else语句

时间:2019-03-11 16:10:16

标签: javascript

我正在尝试获取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>"+

7 个答案:

答案 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>";
    ?>