2015-10-01 4 views
0
var rows = 10; //here's your number of rows and columns 
var cols = 23; 
var table = $('<table id="tbl"><tbody>'); 
for (var r = 0; r < rows; r++) { 
    var tr = $('<tr class="datarow">'); 
    for (var c = 0; c < cols; c++) 
     $('<td>Data</td>').appendTo(tr); 
    tr.appendTo(table); 
} 

//table.appendTo('body'); 
table.appendTo('#tbl'); 

Пожалуйста, помогите, я пытаюсь добавить таблицу в div, добавив jquery. но его не работаетJQuery appendTo не работает

+3

Вам не хватает '{}' для вашего второго цикла 'for'. Кроме того, вы должны закрыть тег HTML в селекторе jQuery. – D4V1D

+1

@ D4V1D Отсутствие '{}' для вложенного цикла ни на что не повлияет. Однако я согласен со вторым вопросом. Теги 'table' и' tbody' должны быть закрыты. – hjpotter92

+0

@ hjpotter92: Я соглашаюсь на '{}', но он очень удобен в удобочитаемости и ремонтопригодности :) – D4V1D

ответ

1

Раскомментируйте прокомментированную строку, она решит ее. Вы не добавляете динамически созданный элемент к существующему объекту DOM. Если вы appened динамически созданный элемент для тела, вы сможете увидеть его на странице

+0

проверить требования к stackoverflow, чтобы комментировать другие сообщения. В нем четко сказано, что вам нужно 50pps. никто не хочет давать иллюзию кому-то, подумайте, прежде чем вводить – NightsWatch

+0

@PradeepSekar: Ну, не имея достаточного количества комментариев для комментариев ** не означает, что вы можете использовать ответ в качестве комментария. Я просто отметил это. – D4V1D

+0

@ D4V1D Итак, в другом посте говорится то же, что я сказал, вы идете вокруг и вниз? – NightsWatch

0

Он работает переключая комментарии в последних двух строках:

var rows = 10; //here's your number of rows and columns 
var cols = 23; 
var table = $('<table id="tbl"><tbody>'); 
for (var r = 0; r < rows; r++) { 
    var tr = $('<tr class="datarow">'); 
    for (var c = 0; c < cols; c++) 
     $('<td>Data</td>').appendTo(tr); 
    tr.appendTo(table); 
} 

table.appendTo('body'); 

https://jsfiddle.net/b5snhour/

0

Упростить это следующим образом:

var rows = 10; //here's your number of rows and columns 
var cols = 23; 
var markup = '<table id="tbl"><tbody>'; // Open Table 
for (var r = 0; r < rows; r++) { 
    markup += '<tr class="datarow">'; // Add Each Row 
    for (var c = 0; c < cols; c++){ 
     markup += '<td>Data</td>'; //Add Multiple column in each row 
    } 
    markup += '</tr>' //close Each Row <tr> 
} 
markup += '</tbody></table>'; //Close body and table. 


$("body").append(markup); // Append it to body. 

Надеюсь, что это сработает.

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