我有这个jquery代码,其中将东西附加到一个div:
$("#destinations ul").append('<li>' +
'<h2>' + destination[i].city + '</h2>' +
'<p>' + destination[i].desc + 'p>' +
'<div class="meta">' +
'<span class=meta-date>Added ' + destination[i].added_date + '</span>' +
'<span class="meta-comments"><a href="' + destination[i].url + '#reply">' + destination[i].comment_amount + ' comments</a></div>' +
'</div></li>');
这完美无缺。除非我没有任何评论或约会的情况。然后我看到带有文字的div&#39;已添加&#39;没有约会。所以我想把meta-date和meta-comments行作为条件。像:
if (added_date) {
'<span class=meta-date>Added ' + destination[i].added_date + '</span>' +
}
但是如果我在我的第一个代码中添加它,它会给我错误。我怎么办?我应该如何修改我的代码?这很简单,但我现在遗漏了一些东西,但不知道是什么。脑冻结:)
答案 0 :(得分:1)
试试这个,
var str = '<li><h2>'+destination[i].city+'</h2><p>'+destination[i].desc+'p>'+
'<div class="meta">';
if (added_date) {
str += '<span class="meta-date">Added '+destination[i].added_date+'</span>';
}
str += '<span class="meta-comments"><a href="'+destination[i].url+'#reply">'+
destination[i].comment_amount+' comments</a></span>' +
'</div></li>';
$("#destinations ul").append(str);
答案 1 :(得分:0)
$("#destinations ul").append('<li>' +
'<h2>' + destination[i].city + '</h2>' +
'<p>' + destination[i].desc + 'p>' +
'<div class="meta">' +
(added_date)?'<span class=meta-date>Added ' + destination[i].added_date + '</span>' : '') +
'<span class="meta-comments"><a href="' + destination[i].url + '#reply">' + destination[i].comment_amount + ' comments</a></div>' +
'</div></li>');
如果需要,您可以更改''空字符串
答案 2 :(得分:0)
尝试这一定肯定会有效......
$(document).ready(function(){
$('#destination ul').append(function(n){
var appendstr = '<li><h2>'+destination[i].city+'</h2><p>'+destination[i].desc+'p>'+
'<div class="meta">';
if (date) {
appendstr += '<span class="meta-date">Added '+destination[i].added_date+'</span>';
}
appendstr += '<span class="meta-comments"><a href="'+destination[i].url+'#reply">'+
destination[i].comment_amount+' comments</a></span>' +
'</div></li>';
return appendstr;
});
});