Javascript:切换加载InnerHTML

时间:2013-03-15 10:33:34

标签: javascript

<script>
    function toggle_table() {
        visibility = document.getElementById("table").style.visibility;
        document.getElementById("table").style.visibility = (visibility == 'visible') ? 'hidden' : 'visible';
        document.getElementById("toggle_table").innerHTML = (visibility == 'visible') ? 'Open' : 'Close';
    }
</script>

<form method='POST'>
    <a id='toggle_table' href='#' onClick='toggle_table()'>Open</a> WIJZIGEN PROCES
    <table id='table' style='visibility: hidden'>
    </table>
</form>

这很有效。虽然我不想让它看不见,但我想不渲染innerHTML(所以当看不见它时它不会占用它的空间)。与此question类似,但我无法使用JQuery(需求)。这是用简单的JavaScript以一种相当简单的方式,而不需要将整个HTML内容放在Javascript中吗?

3 个答案:

答案 0 :(得分:1)

使用display

document.getElementById("table").style.display = (display == 'none') ? '' : 'none';

答案 1 :(得分:0)

使用display:tabledisplay:none代替visibility:hidden/visible

答案 2 :(得分:0)

您可以使用display属性

尝试此操作
function toggle_table() {
    display = document.getElementById("table").style.display;
    document.getElementById("table").style.display= (display != 'none') ? 'none' : 'table';
    document.getElementById("toggle_table").innerHTML = (display== 'table') ? 'Open' : 'Close';
}