Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Изменить таблицу


Автор: admin82 11.9.2007, 17:48
Всем привет. Нужна помощь. 
Наверняка известно, что в документе есть таблица такая:
Код

<TABLE class="className">
        <TBODY>
        <TR>
                <TD class = "classBla-Bla"> bla-bla-bla</TD>
        </TR>
        <TR>
               <TD> bla-bla-bla     </TD>
    </TR>
        <TR>
               <TD class=classBlaBla> blaBlaBla </TD>
      </TR>
          </TBODY>
</TABLE>


Мне надо во второй строке добавить ячейку (столбец) и записать в нее известный текст.
соответственно, надо в первой строке в td добавить colspan = "2" и в третьей строке в td добавить colspan = "2", а во второй строке сделать еще один td и вставить текст в него. 
Вот так я нахожу нужную таблицу: (их в документе много)
Код

function test(){
var tables = document.getElementsByTagName('table');
        for (var i = 0; i < tables.length; i++){
            if (tables[i].className=="className")
                var table = tables[i];
        }
}    


У таблицы нет ID, поэтому  я пытаюсь найти все таблицы,  а нужную идентифицировать по атрибуту class. А вот как потом проделать то, что мне надо, я не знаю. Выручайте!

Автор: SelenIT 11.9.2007, 23:45
admin82, в правильном направлении двигаетесь;). Вот вариант:
Код

function test(){
var tables = document.getElementsByTagName('table');
        for (var i = 0; i < tables.length; i++){
            if (tables[i].className=="className")
                var table = tables[i];
        }
        if (!table) {
        alert('Нет таблицы!');
            return;
        }
        try {
            table.rows[1].insertCell(1);
            table.rows[1].cells[1].innerHTML = 'Получилось!';
        table.rows[0].cells[0].colSpan=table.rows[2].cells[0].colSpan=2;
    }
        catch(e) { alert('Неправильная таблица!'); }
}

Автор: admin82 12.9.2007, 10:20
Спасибо, выручил. На основании твоего кода все сделал, а заодно пополнил знания в js. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)