我有一个javascript数组,其中包含有关人员的信息列表。 我将此数组动态填充到前端的表中。
但是,并非每个人都有一个网站。所以我想为网站输入条件,例如if(url !== "") {<a href="'+ list[i].url + '">Webseite</a>}
但它只是告诉我&#34;意外的令牌,如果&#34;。想法?
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>\
');
};
答案 0 :(得分:1)
你不能在追加内使用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>\
');
};
答案 1 :(得分:0)
试试这个
(list[i].url) ? list[i].url : ''
这是使用条件(三元)运算符
的简写if..else
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
答案 2 :(得分:0)
您可以在Webseite
之前准备一个名为append
的变量,然后将其添加到其余变量中。在一个案例中,它是另一个中的URL,它是空的。
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>
答案 3 :(得分:0)
您可以创建一个字符串作为结果,每次检查对象的元素是否存在然后添加它。
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);
};