根据我通过.getJSON()
返回的数据,我将构建html以附加到div。
是否添加某些部分取决于某些成员是否包含有价值的值。例如,如果data.bla,trimmed小于10个字符,我会将其排除在等式之外/不会将其添加到动态创建的html中。
我的伪jQuery是这样的:
var htmlBuilder;
....
$.getJSON()....each() {
if (data.someURL.trim().length > 10) {
htmlBuilder += '<a href=\"...';
}
}
......但这是首选方式吗?
答案 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) {