середа, 31 жовтня 2012 р.

jquery add row to table


Захотів я виконати просту операцію - додати новий рядок у табличку за допомогою jquery
$("myTable").append("<tr><td>som text</td></tr>")
Як виявилося не все так просто.
На рівні DOM таблиця всередині себе містить тег tbody і рядки слід додавати саме в нього.
Розумні люди підказують що слід писати якось так: 
        $('#myTable > tbody:last').append(myRowHtml)
 Але тут є один нюансик!
Якщо таблиця вже містить якісь рядки тоді все гаразд. 
Проте якщо таблиця порожня, в ній немає елемента tbody і ваш код нічого не додасть!
 
Я викрутився перевіркою кількості дочірніх елементів у таблиці.
 
var table = $('#myTable');
if($(table).children().length == 0)
   $(table).append("<tbody/>") 
$("tbody", table).first().append(myRowHtml);
 
 
 
 

Немає коментарів:

Дописати коментар