Угу. Можно делать переменную-объект или массив (JSON), куда занести все значения, скажем, для приведенного кода:
| Код | var vals = [{el:"ocenki0-8", ops:[{n:"1", v:"1"}, {n:"2", v:"2"}, {n:"3", v:"3", s:1}, ..., {n:"o", v:"o", c:"grey"}]}, {el:"other_select", ops:[...]}];
|
И потом заполнение:
| Код | for (var i = 0; i < vals.length; i++){ var el = document.getElementById(vals[i].el); for (var j = 0, op; op = vals[i].ops[j]; j++){ var newop = el.options.add(new Option(op.v, op.n, op.s ? true : false)); if (op.c) newop.style.color = op.c; } }
|
Уже давно пересел на jQuery, поэтому простыми ДОМовскими средствами писать немного разучился.
Также можно попробовать перепрофилировать работу страницы на AJAX.
Если речь идет только об оптимизации готовой страницы, то мало что можно сделать. Единственное "по существу" - не ставить закрывающие тэги у <option> - это сэкономит 9 символов на каждый опшн - в среднем 20-33% от всех опшнов. |