Возвращает HTML для новой строки

Вопрос: Я должен динамически отображать ячейку, и в каждой строке должно быть по 3 ячейки. Я хочу узнать, сколько строк ему нужно, и если пользователь введет 7, первые две строки отобразят по 3 ячейки в каждой, а в третьей строке будет отображаться только 1 ячейка.

код:

var cells = document.getElementsByTagName('td');
var cell = '<td>' + cells[0].innerHTML + '<td>';
//console.log(cell);

document.getElementById('searchBtn').onclick = search;
var NUMPERROW = 3;

function search(){

    var num = document.getElementById('searchTxt').value; 

    //Loop Once per Row.
    var htmlStr = '';
    for (var i = 0; i < num ; i = i + NUMPERROW){
        //htmlStr += '<tr>' + cell + cell + cell + '<tr>';
        if(num - i >= NUMPERROW){
            htmlStr += newRow(NUMPERROW);
        }else{// less than 3 to display
            htmlStr += newRow(num - i);
        }
    }
    document.getElementById('thumbnails').innerHTML = htmlStr;

}
/*
 * Returns the html for a new row.
 * numToAdd: the number of cells to add for this row.
*/

function newRow(cellsToAdd){

}

1 ответ

Если я правильно понял ваш вопрос, вы можете получить количество ячеек, которое нужно добавить, используя

newRow = NUMPERROW - (num % NUMPERROW)

где% - оператор по модулю: 7 % 3 - напоминание о 7 / 3, то есть 1

Другие вопросы по тегам