Кстати, по теме: 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, время: 17:09. |