在循环jQuery中添加一个if语句



我有一个JavaScript数组,其中包含有关人的信息列表。我将这个数组动态填充到前端的表中。

但是,并非每个人都有一个网站。因此,我想输入网站的条件,例如if(url !== "") {<a href="'+ list[i].url + '">Webseite</a>}

,但它只是告诉我"如果是意外的令牌"。想法?

for(var i = 0; i < list.length; ++i ) {
   $(".list").append('
     <tr>
     <td>'+ list[i].name + '</td>
     <td>' + list[i].area1 + ',<br> ' + list[i].area2 + ',<br> ' + list[i].area3 + '</td>
     <td>'+ list[i].small_area + '</td>
     <td>'+ list[i].studies + '</td>
     <td>'+ list[i].email + '</td>
     <td><a href="'+ list[i].url + '">Webseite</a></td>
     <td>'+ list[i].other + '</td>
     </tr>
   ');
 };

您不能在附加条件中使用if条件,而是可以使用这样的三元运算符

for (var i = 0; i < list.length; ++i) {
  $(".list").append('
    <tr>
    <td>' + list[i].name + '</td>
    <td>' + list[i].area1 + ',<br> ' + list[i].area2 + ',<br> ' + list[i].area3 + '</td>
    <td>' + list[i].small_area + '</td>
    <td>' + list[i].studies + '</td>
    <td>' + list[i].email + '</td>
    <td>' + (list[i].url != null ? '<a href="' + list[i].url + '">Webseite</a>' : '') + '</td>
    <td>' + list[i].other + '</td>
    </tr>
    ');
};

您可以在append之前准备一个称为Webseite的变量,然后将其添加到其余的变量。在一种情况下,它是另一个是空的。

 var list = [
 {name:"One",url:'http://google.com'},{name:"Two", url:""}
  
 ];
 
 for(var i = 0; i < list.length; ++i ) {
     
     
     if(list[i].url !== "") {
        var Webseite = '<a href="'+ list[i].url + '">Webseite</a>'
     }else{
        var Webseite = '';
     } 
     
     $(".list").append('
    <tr>
    <td>'+ list[i].name + '</td>
    <td>' + list[i].area1 + ',<br> ' + list[i].area2 + ',<br> ' + list[i].area3 + '</td>
    <td>'+ list[i].small_area + '</td>
    <td>'+ list[i].studies + '</td>
    <td>'+ list[i].email + '</td>
    <td>' + Webseite + '</td>
    <td>'+ list[i].other + '</td>
    </tr>
    ');
 }
td{
padding:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list"></div>

尝试此

(list[i].url) ? list[i].url : ''

这是使用条件(三元(操作员的速记if..else

https://developer.mozilla.org/en-us/docs/web/javascript/reference/reference/operators/conditional_operator

您可以创建一个字符串,并每次检查对象的元素是否存在,然后添加。

for(var i = 0; i < list.length; ++i ) {
    var result = '<tr>'
    result += '<td>'+ list[i].name + '</td>';
    result += '<td>' + list[i].area1 + ',<br> ' + list[i].area2 + ',<br> ' + list[i].area3 + '</td>';
    result += '<td>'+ list[i].small_area + '</td>';
    result += '<td>'+ list[i].studies + '</td>';
    result += '<td>'+ list[i].email + '</td>';
    if (list[i].url) {
      result += '<td><a href="'+ list[i].url + '">Webseite</a></td>';
    }
    result += '<td>'+ list[i].other + '</td>';
    result += '</tr>';
    $(".list").append(result);
  };

相关内容

最新更新