首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何循环createElement

如何循环createElement
EN

Stack Overflow用户
提问于 2012-09-15 17:11:46
回答 1查看 554关注 0票数 0

当数据显示到div标记时,我希望执行循环操作,如下所示:

代码语言:javascript
复制
function GetDataFromServer() {

var url = "http://bertho.web.id/curl/services21/DataReadNP.php";
JSONP.get(url, {}, function(response){
    var listItem, container, dataList = document.getElementById("dataList"), str = "", str2 = "";
            for ( var i = 0; i < response.length; ++i ) {
                str += response[i].title;
                str2 += response[i].fetch_date;
            }

    listItem = document.createElement('div');
    listItem.setAttribute('data-bb-type', 'item');
    listItem.setAttribute('data-bb-img', 'images/icons/icon11.png');
    listItem.setAttribute('data-bb-title', str);
    listItem.innerHTML = str2;

    container = document.createElement('div');
    container.appendChild(listItem);

    bb.imageList.apply([container]);

    dataList.appendChild(container.firstChild);

    if (bb.scroller) {
        bb.scroller.refresh();
    }

});  

}

要将列表显示到屏幕上,请执行以下操作:

代码语言:javascript
复制
function dataOnTheFly() {
   document.getElementById('waiting').style.display = 'none';
   GetDataFromServer()  
}

我想要的数据显示在屏幕上,但不符合我想要的。请看以下图片:

BB.png

我想列出这个数据循环,直到服务器上的所有数据都被获取为止。我怎样才能得到我想要的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-15 17:30:24

提取问题中的URL,您的数据如下所示:

代码语言:javascript
复制
"items": [
 {
  "id": "30",
  "judul": "KATY PERRY: PART OF ME",
  "img": "http:\/\/bertho.web.id\/curl\/21proses\/images\/r_134760931680781_100x147.jpg",
  "desk": "Sebuah dokumentasi tentang kehidupan Katy Perry diatas maupun diluar panggung. [More]",
  "web": "http:\/\/www.21cineplex.com\/",
  "fetch_date": "15-09-2012 20:10:23"
 }, 

这是一个JSON响应,而不是JSONP --它们是相似的,但是不同。我不知道您的JSONP函数是做什么的,所以我不能确切地告诉您如何继续。

在某种程度上,您需要对收到的数据运行JSON.parse()。你的图书馆可能也可能不会为你这样做。如果是typeof response === "string"的话,那就没有了。

一旦您将JSON解码成一个对象,那么这只是一个简单的循环问题。

代码语言:javascript
复制
var items = response.items;
var l = items.length;
var i = 0;
var item;

for (i = 0; i < l; i++) {
  item = items[i];
  // Now you can do something with item
   listItem = document.createElement('div');
   listItem.setAttribute('data-bb-type', 'item');
   listItem.setAttribute('data-bb-img', item.img);
   listItem.setAttribute('data-bb-title', item.judul);
   // Don't forget to append listItem somewhere.
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12439436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档