убрал,чтобы не смущало.
|
а как сделать чтобы row был не нулевой длины?
|
Зачем?
|
Цитата:
|
Бери выше - я уже два раза сказал про return внутри for{}
|
danik.js-спасибо огромное!Всё получилось в лучшем виде.:thanks:
Ещё вопрос.Как и где прописать -если k==m,то цвет ячейки красный. <!DOCTYPE html> <body> <script> var table, row, data; table = document.createElement('table'); table.border = 1; for (var k = 0; k < 4; k++) { row = document.createElement('tr'); for (var m = 0; m < 5; m++) { data = document.createElement('td'); data.innerHTML = "строка " +k+"; яч "+m; row.appendChild(data); } table.appendChild(row); } document.body.appendChild(table); </script> </body> |
Кстати Deff прав (я с этим и не спорил) что через dom-методы таблица создается на порядок медленней. Я сделал тест, можно сравнить. Тем не менее, не во всех случаях dom-методы оказываются медленней (по крайней мере в современных браузерах), например можно поглядеть этот тест.
В любом случае глупо биться за доли милисекунд (и даже за милисекунды), когда этого совершенно не требуется. Алерт выведет время генерации таблицы в милисекундах. <!DOCTYPE html> <body> <script> var table, row, data; /* delete */var tstart = new Date(); table = document.createElement('table'); table.border = 1; for (var k = 0; k < 4; k++) { row = document.createElement('tr'); for (var m = 0; m < 5; m++) { data = document.createElement('td'); data.innerHTML = "строка " +k+"; яч "+m; if (k == m) { data.style.backgroundColor = 'red'; //data.style.borderColor = 'red'; //data.style.color = 'red'; } row.appendChild(data); } table.appendChild(row); } document.body.appendChild(table); /* delete */alert(new Date() - tstart); </script> </body> |
danik.js-спасибо!А,что получается, что самый быстрый для таблиц получается IE9?Если таблиц на сайте 1000 штук будет,всё-таки что лучше использовать.
А в таблице у Deffа как будет не подскажешь? Что-то вроде,if(k==m){'<td.style.backgroundColor= "red">' } или где подсмотреть... var strTabl="<table border=1><tbody>\n"; for (k = 0; k < 4; k++) { strTabl+= "\n<tr>\n"; for (m = 0; m < 5; m++) { strTabl+= "<td + (k == m ? " style=color:red" : "") >"+"строка " +k+"; яч "+m+"</td>"; } strTabl+= "\n</tr>\n"; } strTabl+= "\n</tbody></table>"; document.write(strTabl); |
strTabl+= "<td" + (k == m ? " style=color:red" : "") +">"+"строка " +k+"; яч "+m+"</td>"; Если все 1000 штук будут генерироваться за один раз, то лучше innerHTML |
спасибо!
А если штук 5-10 на страницу? |
Часовой пояс GMT +3, время: 00:00. |