【发布时间】:2014-07-13 00:39:44
【问题描述】:
我正在尝试将 JSON 映射到特定的 HTML 结构。我想遍历 JSON,创建一个包含它应该具有的结构的 jQuery 对象,然后将它添加到之前启动的集合中。
我事先测试了 JSON 的长度,之后测试了集合的长度,但集合的输出为 0。我不明白为什么 add() 方法在这里对我不起作用.
我也尝试使用map() 来获取我的收藏,但无济于事。
JSON 示例
var d = [
{"NOTICE_ID":"23","TITLE":"fw4r4","BODY":"34t35t","CREATED_BY":"George","TIMESTAMP":"1400856243.1416"},
{"NOTICE_ID":"22","TITLE":"op","BODY":"op","CREATED_BY":"George","TIMESTAMP":"1400854953.8122"}
]
jQuery
console.log(d.length)
$sections = $([]);
$.each(d, function(){
var $sect = $('<section id="notice-'+this['NOTICE_ID']+'" class="type-1" data-time="'+this["TIMESTAMP"]+'"></section>'),
$head = $("<h2>"+this["TITLE"]+"</h2>").appendTo($sect),
$date = $("<span>"+this["TIMESTAMP"]+"</span>").appendTo($head),
$body = $("<div>"+this["BODY"]+"</div>").appendTo($sect);
$sections.add($sect);
});
console.log($sections.length);
我希望 $sections.length 与 d.length 相同,但它始终为 0。
我的目标是最终对这些部分进行排序,然后将它们作为一个附加到容器中。如果我从循环中附加每个元素,它工作正常:
为什么我无法添加到我的空 jQuery 对象?
【问题讨论】: