#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. Пожалуйста, добавьте какое-нибудь объяснение в свой код, чтобы другие могли извлечь из него уроки