Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Запутался с таблицей (https://javascript.ru/forum/dom-window/14056-zaputalsya-s-tablicejj.html)

Raik 26.12.2010 23:30

Запутался с таблицей
 
Вывожу данные в таблицу таким образом:
function DrawRow_laptop(){
var tbody = $('table').getElementsByTagName('TBODY')[0];
var row = document.createElement("TR");
tbody.appendChild(row);
var td1 = document.createElement("TD");
var td2 = document.createElement("TD");
row.appendChild(td1);
row.appendChild(td2);
td1.innerHTML = 'Название';
td2.innerHTML = 'Размер диагонали';
}

Это малая часть таблицы и таких функций вывода несколько.
Вопрос заключается в том, что после/перед каждым выводом функции нужно стирать все данные. Я делал это обычно так:
function ClearTable() {
$('table').innerHTML=" ";
}

И вызывал эту функцию в начале функции вывода. Но в этом конкретном случае функция вывода не работает - не отображает ничего. Если функции ClearTable() не будет, то таблицы будут выводится одна за одной.

Sweet 27.12.2010 01:12

Попробуй не затирать TBODY:)

Sweet 27.12.2010 01:41

Тут либо чистить так:
$('tbody').innerHTML="";
, либо при вставке после очистки начинать с создания TBODY. А то после
$('table').innerHTML=" ";
как-то нелогично выглядит вот это:
var tbody = $('table').getElementsByTagName('TBODY')[0];

x-yuri 27.12.2010 06:09

DOM: Работаем со строками и ячейками таблицы
http://code.google.com/p/trimpath/wi...criptTemplates
$('table').replaceWith((
    '<table>'+
        '<tr>'+
            '<th>Название'+
            '<th>Размер диагонали'+
        '{for goods as a}'+
            '<tr>'+
                '<td>${a.name}'+
                '<td>${a.size}'+
        '{/for}'+
    '</table>'
).process(data) );


Часовой пояс GMT +3, время: 16:07.