Кстати, по теме: http://jsperf.com/table-creation/2
|
Цитата:
|
Поправил тест, чтоб в лисе работал: http://jsperf.com/table-creation/3
рони, твой вариант медленней, как ни странно. Хотя в ие он работает быстрее. Кстати вариант с innerHTML не работает даже в IE9, так что он вообще не приемлем. |
Цитата:
|
<!DOCTYPE html>
<body>
<script>
var strTabl;
var div=document.createElement('div');
function createTable() {
strTabl +="<table border=1><tbody>\n";
for (var k = 0; k < 4; k++) {
strTabl+= "\n<tr>\n";
for (var m = 0; m < 5; m++) {
strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+"строка " +k+"; яч "+m+"</td>";
} strTabl+= "\n</tr>\n";
}
strTabl+= "\n</tbody></table>";
}
function run() {
var tstart = new Date();
strTabl = '';
for (var i = 0; i < 1000; i++) {
createTable();
} //alert(strTabl)
div.innerHTML = strTabl;
document.body.appendChild(div);
alert(new Date() - tstart);
}
</script>
<button onclick="run()">Запуск</button>
</body>
Покороче (Ибо долго в ИЕ)
<!DOCTYPE html>
<body>
<script>
var strTabl;
var div=document.createElement('div');
function createTable() {
strTabl +="<table border=1><tbody>\n";
for (var k = 0; k < 4; k++) {
strTabl+= "\n<tr>\n";
for (var m = 0; m < 5; m++) {
strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+"строка " +k+"; яч "+m+"</td>";
} strTabl+= "\n</tr>\n";
}
strTabl+= "\n</tbody></table>";
}
function run() {
var tstart = new Date();
strTabl = '';
for (var i = 0; i < 100; i++) {
createTable();
} //alert(strTabl)
div.innerHTML = strTabl;
document.body.appendChild(div);
alert(new Date() - tstart);
}
</script>
<button onclick="run()">Запуск</button>
</body>
|
Почему-то так не работает?:(
strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+rew(k,m)+"</td>";
var strTabl="<table border=1><tbody>\n";
for (k = 0; k < u.length; k++) {
strTabl+= "\n<tr>\n";
for (m = 0; m < u.length; m++) {
//strTabl+= "<td>"+rew(k,m)+"</td>";
strTabl+= "<td" + (k == m ? " style=color:red" : "") + ">"+rew(k,m)+"</td>";
}
strTabl+= "\n</tr>\n";
}
strTabl+= "\n</tbody></table>";
document.write (strTabl);
|
strTabl+= "<td" + (k == m ? " bgcolor=red" : "") + ">"+rew(k,m)+"</td>"; |
Deff-спасибо!Заработало!:)
|
| Часовой пояс GMT +3, время: 13:29. |