如何测试json数据成员的长度?

时间:2013-07-02 19:05:42

标签: jquery html json getjson

根据我通过.getJSON()返回的数据,我将构建html以附加到div。

是否添加某些部分取决于某些成员是否包含有价值的值。例如,如果data.bla,trimmed小于10个字符,我会将其排除在等式之外/不会将其添加到动态创建的html中。

我的伪jQuery是这样的:

var htmlBuilder;
....
$.getJSON()....each() {
    if (data.someURL.trim().length > 10) {
        htmlBuilder += '<a href=\"...';
    }
}

......但这是首选方式吗?

2 个答案:

答案 0 :(得分:1)

看起来很好。我会做var htmlBuilder = '';。如果您执行var htmlBuilder; htmlBuilder += 'bar';,则会获得"undefinedbar"

以下是我的代码:

var html = '';
$.getJSON('/path', function(results){
  $.each( results, function(i, result){
    if( $.trim(result.url.length) > 10 ){
      html += '<a href="#">Testing</a>';
    }
  });
  $('#results').append(html);
});

答案 1 :(得分:1)

最好使用$.trim代替.trim()方法,因为后者在IE 8及以下版本中不起作用。

在调用方法之前检查null条件也更好。

var str = data.someURL;
if (str && $.trim(str).length > 10) {