【问题标题】:Check whether JSON value is present zepto检查 JSON 值是否存在 zepto
【发布时间】:2012-06-23 10:42:24
【问题描述】:

我已经尝试了一段时间来让它工作,但我找不到一个可以按我需要的方式工作的解决方案。

我正在使用 zepto.js,我需要做的是从提要中获取帖子列表并循环浏览它们。除了没有缩略图的帖子外,我一切正常。如果缩略图不存在,我传递文章的方式会留下一个空的 img 标签。

这是我的代码:

function get_articles(feed) {
  $.getJSON(feed, function(data) {
    $.each(data.articles, function(i, field) {
      articles += "<li class='article' id='article-"+field.id+"'><a href='story.html?  aid="+field.id+"'><img src='"+field.thumb+"' class='thumb' /><h3 class='headline'>"+field.headline+"</h3></a></li>"
    })
    $("ul#channel").html(articles)
  })
}

我尝试了其他方法,但似乎找不到一种不循环 ul 或将多个循环传递到一个 li 的方法。

我知道我可能很愚蠢,但我碰壁了。任何指针将不胜感激。

【问题讨论】:

    标签: jquery json zepto


    【解决方案1】:

    使用简单的if..else 语句

    if (field.thumb != "")
    {
        articles += "<li class='article' id='article-"+field.id+"'><a href='story.html?  aid="+field.id+"'><img src='"+field.thumb+"' class='thumb' /><h3 class='headline'>"+field.headline+"</h3></a></li>";
    }
    else
    {
        articles += "<li class='article' id='article-"+field.id+"'><a href='story.html?  aid="+field.id+"'><h3 class='headline'>"+field.headline+"</h3></a></li>";
    }
    

    【讨论】:

    • 谢谢 slash197。我知道这很简单。我在考虑围绕 field.thumb 的 if,并没有考虑只围绕文章循环。
    【解决方案2】:

    如果您根本不想渲染那些没有缩略图的元素,您可以使用map 过滤掉这些元素:

    function get_articles(feed) {
      $.getJSON(feed, function(data) {
        var validArticles = $.map(data.articles, function (item, index) {
            if (item.thumb) {
                return item;
            }
        });
    
        $.each(validArticles, function(i, field) {
          articles += "<li class='article' id='article-"+field.id+"'><a href='story.html?  aid="+field.id+"'><img src='"+field.thumb+"' class='thumb' /><h3 class='headline'>"+field.headline+"</h3></a></li>"
        });
    
        $("ul#channel").html(articles);
      })
    }
    

    【讨论】:

    • 感谢您的回答,我确实希望在这种情况下渲染它们,但我可以肯定地看到“地图”在以后会派上用场。
    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 2020-03-22
    • 2012-04-21
    • 2015-10-09
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多