Не удается добавить элемент массива в строку таблицы в jQuery

#jquery

#jquery

Вопрос:

Я пытаюсь создать таблицу с помощью jQuery. Попытка добавить целочисленные элементы из массива в строки таблицы выдает ошибку

Неперехваченная ошибка типа: array[i].appendTo не является функцией

Я получаю эту ошибку во время отладки с Chrome.

Вот фрагмент кода:

 var rs = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";
        var array = new Array();
        array = rs.split(", ");
        var tbody = $('<tbody></tbody>').appendTo(tableHTML);
        for (var i = 0; i < array.length; i  ) {

            var trHTML = $('<tr></tr>').appendTo(tbody);
            var tdHTML = $('<td align="center"></td>').html(
                    (array[i]).appendTo(trHTML)); // error here 
  

Пожалуйста, помогите.
Спасибо!

Комментарии:

1. array[i] это строка. Для него нет appendTo свойства.

Ответ №1:

Я предлагаю использовать это решение, сформулировать html и динамически добавлять его в вашу таблицу. Вам не обязательно использовать appendTo.

Вы столкнулись с ошибкой, потому что пытаетесь добавить строку, а не html-элемент.

 var tableHTML = $("#numberTable");
var rs = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";
var array = new Array();
array = rs.split(", ");
var html = '<tbody>';
for (var i = 0; i < array.length; i  ) {
  html  = '<tr><td align="center">' i '</td></tr>';
}
html  = '</tbody>';
tableHTML.html(html);  
 <table id="numberTable" style="width:100%">
  
</table>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>  

Ответ №2:

  var rs = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";
 var array = rs.split(", ");       
 var str = ''                      //Sring to append
 for(d in array)                   //for array iteration
 str ='<tr>' d '</tr>'             //storing array values in str
 $('#tbody_id').html(str)          //Appending value to tbody
  

Комментарии:

1. Пожалуйста, добавьте какое-нибудь объяснение в свой код, чтобы другие могли извлечь из него уроки