if $ .each,Jquery中的if语句

时间:2013-07-29 14:24:32

标签: jquery

我正在根据WebMethod返回的JSON数据构建一些html。我需要知道如何遗漏某些

元素,这取决于是否存在特定值。到目前为止,我已经得到了这个,但是我在VS

中得到了语法错误
$.each(amlData, function (index, item) {
    $('<div class=message><pre><dl><dt>Matched On:</dt><dd>' + item.ItemType +
    '</dd><dt>Date Listed:</dt><dd>' + item.DateListed +
    '</dd><dt>ID:<dt><dd>' + item.ID +
    '</dd><dt>Percentage:</dt><dd>' + item.PercentageMatch +
    '</dd><dt>List:</dt><dd>' + item.List +
    '</dd>' if(item.Gender != null) { + '<dt>Gender:</dt><dd>' + item.Gender   } +  '</dl></pre></div>').appendTo('div#results');                                  
});

4 个答案:

答案 0 :(得分:4)

if语句在此上下文中不起作用,但三元运算符将:

'</dd>'  + ((item.Gender != null) ? '<dt>Gender:</dt><dd>' + item.Gender + '</dd>' : '<dd></dd>') + '</dl></pre></div>').appendTo('div#results')

答案 1 :(得分:2)

你不能那样使用它。但你可以这样做:

'</dd>' + (item.Gender != null ? '<dt>Gender:</dt><dd>'+item.Gender : '')+  '</dl>...

答案 2 :(得分:1)

问题是你有一个if语句在哪里,它会期望一个字符串。尝试:

$.each(amlData, function (index, item) {
                      $('<div class=message><pre><dl><dt>Matched On:</dt><dd>' + item.ItemType +
                          '</dd><dt>Date Listed:</dt><dd>' + item.DateListed +
                          '</dd><dt>ID:<dt><dd>' + item.ID +
                          '</dd><dt>Percentage:</dt><dd>' + item.PercentageMatch +
                          '</dd><dt>List:</dt><dd>' + item.List +
                          '</dd>' + ((item.Gender != null) ? '<dt>Gender:</dt><dd>' + item.Gender : '') +  '</dl></pre></div>').appendTo('div#results');

                  });

答案 3 :(得分:0)

尝试,


    var result = "";
    $.each(amlData, function (index, item) {
        result  = "Your Initial String"; 
        if(item.Gender != null) {
            result = result +  "" + item.Gender; // append string based on your condition
         }
     });
    $(result).appendTo('div#results');