Perché qui abbiamo bisogno di clic due volte (http://jsfiddle.net/xL8hyoye/4/):JS one-click Toggle (non due click) - valore predefinito di elemento toggled
html:
<a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a>
<div id="foo">This is foo</div>
css: #foo {display: none;}
JS:
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none';
}
Quando qui solo da uno scatto testo scompare (http://jsfiddle.net/xL8hyoye/5/):
html:
<a href="#" onclick="toggle_visibility('foo');">Click here to toggle visibility of element #foo</a>
<div id="foo" style='display:none'>This is foo</div> <!-- add display style here -->
css: <!-- delete ccs here -->
JS:
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'none')
e.style.display = 'block';
else
e.style.display = 'none';
}
Si noti che un DIV di default ha una visualizzazione effettivamente di tipo "blocco" ma restituisce "" come lo stile è una parte della definizione dell'elemento e non un attributo (ancora). –