2014-09-05 73 views
0

在這裏,我通過循環的對象和檢索鍵:值對,將它們放置在一個表動態建立HTML表格與Javascript對象

obj = clickedRecord.toJSON(); //gets record from 
           //separate table and converts to JSON format 
var array=[]; 
for(key in obj) { 
    if(obj.hasOwnProperty(key)) { 
     array.push(
     '<table id="myTable">' + 
      '<tr>' + 
       '<td>' + key + '</td>' + 
       '<td>' + obj[key] + '</td>' + 
      '<tr>' + 
     '</table>'' 
    ); 
    } 
} 

它的輸出是:

ID 100 
, 
Name Billy 
, 
Address 525 Park Lane 
, 

有沒有一種更清潔的方式來動態構建一個使用javascript對象的表,以及從返回的數據中省略逗號?

+0

不是真的,除非你想使用jquery或只是直接的DOM操作。基本上與少數幾條線相同。 – Jay 2014-09-05 16:58:20

+1

你的輸出似乎是一個數組的字符串表示。將'.join('')'添加到輸出表達式的末尾。 – Teemu 2014-09-05 16:58:23

+0

謝謝@Teemu the .join('')做到了。我剛剛意識到我正在爲循環的每次迭代製作表格 - 沒有bueno – 2014-09-05 17:03:05

回答

1

事情是這樣的:

var table = document.createElement('TABLE'); 
    table.setAttribute("id", "myTable"); 

    for(key in obj) { 
     var tr = document.createElement('TR'); 
     table.appendChild(tr); 

     var td = document.createElement('TD');   
     td.appendChild(document.createTextNode(key)); 
     tr.appendChild(td); 

     var td2 = document.createElement('TD');   
     td2.appendChild(document.createTextNode(obj[key])); 
     tr.appendChild(td2); 
    } 
+0

正是我在找的東西,謝謝@Donal – 2014-09-05 17:12:19

+0

@ClayBanks沒問題,很樂意提供幫助。 – Donal 2014-09-05 17:12:55