jquery Append() 中的 if 语句



在我的jquery Append()中,我不想运行IF语句来在我的所有对象上包含图像,除了第一个对象。

喜欢:

var i = 0;
$('#divDetailsForSelectedInfo').append(
    '<div class="roundedAndBoxShade leftResultObject" id = "' + value.Query.Id + '">'+
    '<div class="leftResultObject_inner">' +
if (i > 0){
   <img src="/img.jpg"/>;
}
'<div>asdf</div>');

代码由 Json+Jquery 生成,然后全部附加到我的索引文件中的一个div 上。据我所知,通过谷歌搜索无法做到这一点,但我可能是错的?

如果它确实"不可能",Jquery 中的 :first 选择器是否可以以某种很酷的方式使用?

更简单的解决方案:

var i = 0;
$('#somediv').append(
    'html before' + 
    (i > 0 ? '<img src="/img.jpg"/>': '') +
    'more html'
);
var i = 0;
var str=''
if (i > 0){
  str =  '<img src="/img.jpg"/>;'
}
$('#divDetailsForSelectedInfo').append(
    '<div class="roundedAndBoxShade leftResultObject" id = "' + value.Query.Id + '">'+
    '<div class="leftResultObject_inner">' +str+'<div>asdf</div>');

我能想到的最简单的方法:

$('#divDetailsForSelectedInfo').append(
    function(i) {
        return '<div class="roundedAndBoxShade leftResultObject" id = "' + value.Query.Id + '">' + '<div class="leftResultObject_inner">' + (i > 0 ? '<img src="/img.jpg"/>' : '');
    });

JS小提琴概念验证。

最新更新