2014-02-02 3 views
0

У меня есть функция JS, которая принимает 2D-массив и div. Он создает таблицу из массива и добавляет ее в div. В настоящее время на экране отображается: [объект HTMLTableElement]. Как я могу отобразить его как таблицу?Показать объект HTMLTableElement Объект, возвращаемый функцией

Я вызываю функцию с: createTable(myArray, $("#tblDiv"));.

Позже:

function createTable(array, tableDiv) 
     { 
      var tbl = document.createElement('table'); 
      tbl.style.border = "1px solid black"; 
      for(var i = 0; i < array.length; i++) 
      { 
       var tr = tbl.insertRow(); 
       for(var j = 0; j < array[i].length; j++) 
       { 
        var td = tr.insertCell(); 
       } 
      } 
      tableDiv.append("<br>" + tbl); 
      return; 
     } 
+0

Это потому, что вы конкатенация объекта со строкой. > 'document.createElement ('table'). toString() === [object HTMLTableElement]' – undefined

+0

Конечно! Спасибо. – Anas

ответ

2

"<br>" + tbl собирается оценить в <br>[object HTMLTableElement]. Это конкатенация строк, если вы попытаетесь добавить строку в не строку, она будет преобразована в строку, а затем добавлена ​​так, что HTMLTableElement в виде строки будет [object HTMLTableElement].
То, что вы хотите сделать, это добавить таблицу по себе

tableDiv.append("<br>"); 
tableDiv.append(tbl); 
+0

Это сработало и помогло мне исправить другую ошибку. По-видимому, я фактически не добавлял значения в таблицу. Спасибо! – Anas

Смежные вопросы