The native/default style display value for a seen tr element technically is not 'block'. It's 'table-row'. But using that may confuse IE.
However, by setting the display property to an empty string, one may allow it to revert to whatever the browser considers to be its default value:
Code:
<script>
function toggle(el) {
if(typeof(el) == 'string')
el = document.getElementById(el);
var img = document.getElementById(el.id + '_img');
switch(el.style.display) {
case 'none' :
img.src = 'icon_minus.gif';
el.style.display = '';
break;
case '' :
img.src = 'icon_plus.gif';
el.style.display = 'none';
break;
default:
img.src = 'icon_minus.gif';
el.style.display = '';
break;
}
}
</script>
This may be condensed:
Code:
<script>
function toggle(el) {
if(typeof(el) == 'string')
el = document.getElementById(el);
var img = document.getElementById(el.id + '_img');
switch(el.style.display) {
case 'none' :
img.src = 'icon_minus.gif';
el.style.display = '';
break;
default:
img.src = 'icon_plus.gif';
el.style.display = 'none';
}
}
</script>
Bookmarks