Javascript:添加到字符串直到准备好显示

时间:2013-11-24 20:09:27

标签: javascript indexeddb

我正在使用此函数从IndexedDb logStore读取所有信息(是的,变量设置正确)

当我调用该函数并显示结果时,我得到的只是我定义的表的前两行。 if(cursor){}代码段不会将任何输出放入表中,但alert()会显示所有信息,直到商店中没有更多数据为止。

有没有人建议让数据进入表格?

function readLog() {
// TODO: Make strings concatenate
var objectStore = db.transaction(logStore).objectStore(logStore);

    objectStore.openCursor().onsuccess = function(event) {

      content = '<table border="1" width="50%"><tr><td width="10%">Event ID</td><td width="10%">Timestamp</td><td width="80%">Message</td></tr>'; // Works
      content += "<tr><td>Test</td><td>Test</td><td>Test</td></tr>"; // Works

      var cursor = event.target.result;

      if (cursor) {
            content.concat("<tr><td>" + cursor.key + "</td><td>" + cursor.value.timestamp + "</td><td>" + cursor.value.message + "</td></tr>"); // Doesn't work
            alert("ID: " + cursor.key + " TS: " + cursor.value.timestamp + " Message: " + cursor.value.message); // Works
            cursor.continue();
      }
      else {
            content.concat("</table>");
            document.getElementById('result').innerHTML=content;
      }
    };      
}

1 个答案:

答案 0 :(得分:0)

concat()返回一个由此数组组成的新数组,该数组与其他数组和/或值连接在一起。您应该编写content = content.concat(...)之类的内容,或者像使用第一个字符串连接一样使用+=