jQuery добавить HTML-столбец таблицы

У меня есть таблица HTML, как это:

<table border="1">
    <tbody>
        <tr>
            <td><a href="#" class="delete">DELETE ROW</a>COL 1</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 2</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 3</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 4</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 5</td>
            <td><a href="#" class="delete">DELETE COL</a>COL 6</td>
        </tr>
        <tr>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
        </tr>
        <tr>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
        </tr>
    </tbody>
</table>

Что мне нужно, так это функция добавления нового столбца с числом тд на основе других столбцов. Дело в том, что в этой таблице HTML столбцы удаляются с помощью jQuery перед добавлением новых столбцов, поэтому функции необходимо получить текущую конфигурацию столбцов и соответствующим образом адаптировать ее, поскольку строки и столбцы всегда удаляются или добавляются.

У меня есть этот код для добавления нового столбца, но он не добавляет заголовок:

function addACol() {
    var currentNumberOfTDsInARow = $('.tblModel tr:first td').length;
    newColNum = currentNumberOfTDsInARow;
    var rows = $('.tblModel tbody tr');
    for (var i = 0; i < rows.length; i++) {
        var lastTDClone = $(rows[i]).find('td:last').clone();
        $(rows[i]).find('td:last').after(lastTDClone);
    }
}

Ответы на вопрос(2)

но вы можете сделать свой HTML немного более семантическим.

<table border="1">
    <thead>
        <tr>
            <th><a href="#" class="delete">DELETE ROW</a>COL 1</th>
            <th><a href="#" class="delete">DELETE COL</a>COL 2</th>
            <th><a href="#" class="delete">DELETE COL</a>COL 3</th>
            <th><a href="#" class="delete">DELETE COL</a>COL 4</th>
            <th><a href="#" class="delete">DELETE COL</a>COL 5</th>
            <th><a href="#" class="delete">DELETE COL</a>COL 6</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
            <td>ROW 1</td>
        </tr>
        <tr>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
            <td>ROW 2</td>
        </tr>
    </tbody>
</table>

Модифицированный код jQuery может выглядеть так:

var c = $("#myTable thead th").length;
$("#myTable thead tr").append("<th><a href=''>Delete</a> Col "+(c+1)+"</th>");
$("#myTable tr:gt(0)").append("<td>Col</td>");
 25 авг. 2010 г., 22:49
Или сделайте так, чтобы последняя строка кода была такой:$("#myTable tbody tr").append("<td>Col</td>"); и покончить с:gt(0).
Решение Вопроса
Update...
var c = $("#myTable tr:first td").length;
$("#myTable tr:first").append("<td><a href=''>Delete</a> Col "+(c+1)+"</td>");
$("#myTable tr:gt(0)").append("<td>Col</td>");

вы можете использоватьфункция, над которой мы работали в вашем предыдущем вопросе.

Original Answer...
$("#myTable tr").append("<td>New Column</td>");

Или, если вы хотите добавить заголовок, вы можете ограничить предыдущую строку всеми TR больше 0:

$("#myTable tr:gt(0)").append("<td>New Column</td>");

И заголовок будет только на первом ТР:

$("#myTable tr:first").append("<td>Delete Column LINK</td>");
 02 июл. 2009 г., 18:44
Почтовый код в вашем вопросе, лучше форматирование.
 02 июл. 2009 г., 18:43
Может быть, вы можете объяснить, что вы имеете в виду, посчитав последний столбец. Приведите пример значений в другом столбце.
 02 июл. 2009 г., 18:43
Если вы хотите выяснить, какое число ввести туда, вы можете циклически просмотреть td 's на этом tr и заново вставить номера для каждого на основе их индекса.
 02 июл. 2009 г., 18:42
Если вы добавляете только один столбец, вы вставляете только один & lt; TD & gt; для каждого & lt; TR & gt ;.
 Manny Calavera02 июл. 2009 г., 18:40
Вот в чем дело ... На самом деле нужно вычислить количество тд из последнего столбца или чего-то еще ... Есть много строк ...

Ваш ответ на вопрос