Ich würde dies vorschlagen, um Elemente auszublenden (wie andere vorgeschlagen haben):
document.getElementById(id).style.display = 'none';
Aber um Elemente sichtbar zu machen, würde ich folgendes vorschlagen (anstelle von display = 'block'):
document.getElementById(id).style.display = '';
Der Grund dafür ist, dass die Verwendung von display = 'block' dazu führt, dass sowohl im IE (11) als auch in Chrome (Version 43.0.2357.130 m) auf der Seite, an der ich arbeite, zusätzlicher Rand/Whitespace neben dem Element sichtbar gemacht wird.
Wenn Sie eine Seite zum ersten Mal in Chrome laden, wird ein Element ohne Stilattribut im DOM-Inspektor wie folgt angezeigt:
element.style {
}
Das Ausblenden mit dem Standard-JavaScript führt erwartungsgemäß zu diesem Ergebnis:
element.style {
display: none;
}
Wenn man sie mit display = 'block' wieder sichtbar macht, sieht sie so aus:
element.style {
display: block;
}
Das ist nicht mehr dasselbe wie früher. In den meisten Fällen dürfte dies keinen Unterschied machen. Aber in einigen Fällen führt es zu Anomalien.
Mit display = '' wird der ursprüngliche Zustand im DOM-Inspektor wiederhergestellt, daher scheint dies der bessere Ansatz zu sein.