用JavaScript隱藏控制項的方法有兩種,分別是透過設定控制項的style的「display」和「visibility」屬性。
當style.display="block"或style.visibility="visible"時控製或見,當style.display="none"或style.visibility="hidden"時控制不可見。不同的是「display」不僅隱藏控件,而且被隱藏的控件不再佔用顯示時佔用的位置,而「visibility」隱藏的控件僅僅是將控件設置成不可見了,控件仍然佔俱原來的位置。
function displayHideUI() { var ui =document.getElementById("bbs"); ui.style.display="none"; } function displayShowUI() { var ui =document.getElementById("bbs"); ui.style.display="";//display为空的话会好使,为block会使后边的空间换行 } function visibilityHideUI() { var ui =document.getElementById("bbs"); ui.style.visibility="hidden"; } function visibilityShowUI() { var ui =document.getElementById("bbs"); ui.style.visibility="visible"; } </script>
值 描述
none 此元素不會被顯示。
block 此元素將顯示為區塊級元素,此元素前後會帶有換行符號。
inline 預設。此元素會被顯示為內聯元素,元素前後沒有換行符號。
inline-block 行內塊元素。 (CSS2.1新增的值)
list-item 此元素會顯示為清單。
run-in 此元素會根據上下文以區塊級元素或內嵌元素顯示。
compact CSS 中有值compact,不過由於缺乏廣泛支持,已從CSS2.1 中刪除。
marker CSS 中有值marker,不過由於缺乏廣泛支持,已從CSS2.1 中刪除。
table 此元素會以區塊級表格顯示(類似
和 | ) table-caption 此元素會以表格標題顯示(類似 inherit 規定應該從父元素繼承display屬性的值。 今天解決的問題是在jsp頁面中給css定義的label.error的類別一個id,然後透過控制id的可見性來實現收起div時清除js的提示訊息。具體如下: $(document).ready(function() { $(".flipp .span4").click(function() { $(this).parent().next().toggle(); $(this).parent().parent().prevAll().find(".panel").hide(); $(this).parent().parent().nextAll().find(".panel").hide(); var label1 = document.getElementById("label1"); label1.style.display="none"; }) 然後在jsp對應的地方加入: <label class="error" id="label1" for="currentPWD" generated="true" style="display:inline"></label> 對於css定義的label.error類,可以使用$("label.error").removeAttr("style").attr("style", "display: none;");來實現如上的功能。而且,貌似也不用在地下對應的位置為label定義id值。 |
---|