0

質問: セルを動的に表示する必要があり、各行には 3 つのセルが必要です。必要な行数を見つけたいのですが、ユーザーが 7 を入力すると、最初の 2 行にそれぞれ 3 つのセルが表示され、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){

}
4

1 に答える 1

1

あなたの質問を正しく理解していれば、追加する必要があるセルの数を取得できます

newRow = NUMPERROW - (num % NUMPERROW)

ここで % はモジュロ演算子です: 7 % 3 は 7 / 3 のリマインダーで、1 です

于 2013-08-12T13:12:14.610 に答える