Показать сообщение отдельно
  #3 (permalink)  
Старый 20.07.2016, 08:07
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Для css, в котором уже есть display:block у элемента, команда display='' будет тождественна команде display='block', поэтому командовать надо явно:

elem.style.display=(elem.style.display=='block')?'none':'block';


Или нарисовать в глобальном файле стилей нечто вроде

d-block{display:block!important;}


И втыкать его через

elem.classList.toggle('d-block');


Что сразу открывает способ скрыть все открытое таким стилем

function hide_all(){
   var elems=document.querySelectorAll('d-block');
   for var(i=0,el;el=elems[i];i++)
       el.classList.remove('d-block')  
}
Ответить с цитированием