| 
 кроссбраузерно присвоить значения Есть переключатель чекбоксов. Их МНОГО (десятки тыщ). Но зато других инпутов в ноде не бывает ;-? 
function toggleAllChecked(checked, node_id){
  var node = document.getElementById(node_id)
  var cbx = node.getElementsByTagName("INPUT");
  for(var i = 1; i < cbx.length; i++){
    cbx[i].checked = checked;
  }
}
Из "великолепной пятёрки" почти все браузеры справляются адекватно. IE8 и Safari тормозят не по-детски. Как с этом побороться? | 
| 
 
document.querySelectorAll('#' + node_id + ' input:checkbox');
 | 
| 
 Цитата: 
 Ошибка: uncaught exception: [Exception... "An invalid or illegal string was specified" code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" location: "http://192.168.0.152/tracking/javascript/eventsproc.js Line: 179"] Я что-то ступил? | 
| 
 Упс, в querySelectorAll нет ведь такого селектора. Пробуйте так: 
document.querySelectorAll('#' + node_id + ' input[type=checkbox]');
document.querySelectorAll('#' + node_id + ' input');
 | 
| 
 Не совсем понимаю логику exec-а... Лично я бы поработал бы над оптимизацией цикла... | 
| 
 длину массива cbx.length сохраните в отдельной переменной это должно дать выигрыш по времени 
function toggleAllChecked(checked, node_id){
  var node = document.getElementById(node_id)
  var cbx = node.getElementsByTagName("INPUT");
  var length = cbx.length;
  for(var i = 0; i < length; i++){
    cbx[i].checked = checked;
  }
}
 | 
| 
 exec, тормозит цикл, а не выборка, а вы просто выборку усложнить предлагаете. | 
| 
 Цитата: 
 Цитата: 
 Результат, однако, не достигнут: IE8 и Safari отрабатывают раза в 3 медленнее чем FF, Opera и GC. К тому же, Safari задаёт дурацкие вопросы про медленный скрипт. | 
| 
 Цитата: 
 | 
| 
 Просто интересно, для каких операций могут потребоваться "десятки тыщ" чекбоксов :blink: | 
| Часовой пояс GMT +3, время: 22:29. |