Я бы предложил это скрыть элементы (как предлагали другие):
document.getElementById(id).style.display = 'none';
Но чтобы сделать элементы видимыми, я бы предложил это (вместо display = 'block'):
document.getElementById(id).style.display = '';
Причина в том, что использование display = 'block' приводит к появлению дополнительного поля / пробела рядом с элементом, видимым как в IE (11), так и в Chrome (версия 43.0.2357.130 m) на странице, которую яработает над.
Когда вы впервые загружаете страницу в Chrome, элемент без атрибута стиля будет выглядеть следующим образом в инспекторе DOM:
element.style {
}
Скрытие его с помощью стандартного JavaScript делает егоэто, как и ожидалось:
element.style {
display: none;
}
Повторное отображение с помощью display = 'block' изменяет его на следующее:
element.style {
display: block;
}
Это не то же самое, что было изначально.Это вполне может не иметь никакого значения в большинстве случаев.Но в некоторых случаях это приводит к аномалиям.
Использование display = '' возвращает его в исходное состояние в инспекторе DOM, поэтому этот подход кажется более подходящим.