2013-03-15 69 views
1
<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> 

This works great。雖然我不想讓它看起來不可見,但我不想渲染innerHTML(因此當它不可見時它不會佔用空間)。類似於這個question,儘管我不能使用JQuery(需求)。這是用簡單的JavaScript的一種相當簡單的方式,而不需要把整個HTML內容放入Javascript中?Javascript:切換loading InnerHTML

+0

使用'顯示:none'從DOM隱藏它,不可見 – kennypu 2013-03-15 10:37:24

回答

1

使用display

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

謝謝,你是對的。這似乎是一個CSS問題,而不是JS。將盡快接受。 – Aquillo 2013-03-15 10:38:26

0

使用display:tabledisplay:none,而不是visibility:hidden/visible

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'; 
}