Удалить td из каждой строки tr

Рейтинг: 0Ответов: 1Опубликовано: 15.03.2015

Здравствуйте.

Нужно удалить 3 td из каждой строки. При клике нужно, чтобы удалялося 3 строки и три столбца. К примеру, была таблица 9х9, при клике стало 6х6, еще раз клик - 3х3.

На данный момент удаляются только строки. Моя реализация: http://jsfiddle.net/qjjsprda/4/

Ответы

▲ 2Принят

Наверное, вам подойдет такой вариант:

function add(toAdd) {
    var table = document.getElementById('table');
    var count = table.getElementsByTagName("tr").length;

    for(var i = 0; i < count + toAdd; i++) {
       var noRowToAdd = i < count;
       var row = noRowToAdd ? 
           table.rows[i] :
           table.insertRow(i);

        var low = noRowToAdd ? count : 0;
        var high = noRowToAdd ? toAdd: count + toAdd;
        for(var k = 0; k < high; k++) {            
            var x = row.insertCell(low + k);            
        }
    }
}

function del(toDel) {
    var table = document.getElementById('table');
    var count = table.getElementsByTagName("tr").length;

    if(count - toDel < 3)
        return;

    for(var i = 0; i < toDel; i++) {
        table.deleteRow(count - i - 1);
    }

    var newCount = count - toDel;

    for(var i = 0; i < newCount; i++) {
        for(var k = newCount + toDel; k > newCount; k--) {           
            table.rows[i].deleteCell(k - 1);
        }
    }       
}

Пример