我有一个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);
};