2013-08-20 67 views
0

我在想如何用for循環創建一個函數,爲其他for循環創建新的單元格/行。該函數應該返回newRow,它應該是指定數量的單元格。這個想法是HTML代碼每行顯示3個圖像,但如果只有2個圖像,那麼它只需要2個單元格。這是第一個if/else語句。動態創建一個表格並通過一個帶有Javascript的函數向表格中添加單元格

這裏是到目前爲止的代碼..

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


document.getElementById('searchBtn').onclick = search; 

//specified as 3 per row 
var NUMPERROW = 3; 

//gets number from form text input 
var num = document.getElementById("searchtxt").value; 

function search(){ 

//var num = 4; 

console.log(num); 

//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) { 

     //displays a new row of 3 
     htmlStr += newRow(NUMPERROW); 

    }else { //less then 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. 
* 
*/ 
//this function i do not know how to write 

function newRow(cellsToAdd){ 

/////?????????? should be a for loop return new Row for the for loop above 

} 

}

回答

1

這裏,如果你不希望傳遞的價值觀,你可以離開content了一個簡單的函數。

function newRow(numberOfCells, content) 
{ 
var result = '<tr>'; 
for(var i = 0; i < numberOfCells; i++) 
    result += '<td>' + content[i] + '</td>'; 
result += '</tr>'; 
return result; 
} 
相關問題