今天在寫動態加載一個表格時,想規定生成的表格時7列的數據。因此使用了 i / 7 這樣獲得的數據一致的算是一行的數據。這裏就有個問題出現了,此時IE提示,該部分的代碼致使IE運行速度慢。java
var cusTale = '';
var t = 0;
cusTale += '<table border=0><tbody><tr>';
for (var i = 0; i < cusJson.length; i++) {
if(i/7==t){
cusTale += '<td><input type="checkBox" name="pageCustomers" value="'+ cusJson[i].id +'">'+ cusJson[i].name +'</input></td>';
}else{
i--;
t++;
cusTale += '</tr><tr>';
}
}
cusTale += '</tbody><table>';
document.getElementById('tdCustomer').innerHTML = cusTale;get
認真看也沒有什麼問題,最後alert(i / 7).獲得的值浮點數的值,而不是我預期的整數,由於在java中,整數除以整數,獲得的仍是整數。因此我在此頁面作了Math.floor(i / 7) 的運算,以後網頁正常運行。input
要使用 if( Math.floor(i/7) == t) 而不能是 if( i / 7 == t).table
var cusTale = '';
var t = 0;
cusTale += '<table border=0><tbody><tr>';
for (var i = 0; i < cusJson.length; i++) {
if(Math.floor(i/7)==t){
cusTale += '<td><input type="checkBox" name="pageCustomers" value="'+ cusJson[i].id +'">'+ cusJson[i].name +'</input></td>';
}else{
i--;
t++;
cusTale += '</tr><tr>';
}
}
cusTale += '</tbody><table>';
document.getElementById('tdCustomer').innerHTML = cusTale;數據