【问题标题】:If-statement inside jquery Append()jquery Append() 中的 if 语句
【发布时间】:2012-10-05 14:10:48
【问题描述】:

在我的 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 上。 据我通过即时 google 得知,这是无法做到的,但我可能错了?

如果确实“不可能”,Jquery 中的 :first 选择器可以以某种很酷的方式使用吗?

【问题讨论】:

  • 等等:你在哪里增加i为什么基于id的选择器会返回多个元素?

标签: jquery html json append


【解决方案1】:

一个更简单的解决方案:

var i = 0;
$('#somediv').append(
    'html before' + 
    (i > 0 ? '<img src="/img.jpg"/>': '') +
    'more html'
);

【讨论】:

    【解决方案2】:
    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>');
    

    【讨论】:

      【解决方案3】:

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

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

      JS Fiddle proof-of-concept.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-10
        • 2014-12-14
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        • 2010-11-21
        • 1970-01-01
        相关资源
        最近更新 更多