js中設定控制元件的隱藏與顯示
阿新 • • 發佈:2019-01-11
用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>),表格前後帶有換行符。 inline-table 此元素會作為內聯表格來顯示(類似<table>),表格前後沒有換行符。 table-row-group 此元素會作為一個或多個行的分組來顯示(類似<tbody>)。 table-header-group 此元素會作為一個或多個行的分組來顯示(類似<thead>)。 table-footer-group 此元素會作為一個或多個行的分組來顯示(類似<tfoot>)。 table-row 此元素會作為一個表格行顯示(類似<tr>)。 table-column-group 此元素會作為一個或多個列的分組來顯示(類似<colgroup>)。 table-column 此元素會作為一個單元格列顯示(類似<col>) table-cell 此元素會作為一個表格單元格顯示(類似<td>和<th>) table-caption 此元素會作為一個表格標題顯示(類似<caption>) inherit 規定應該從父元素繼承display屬性的值。 今天解決的問題是在jsp頁面中給css定義的label.error的類一個id,然後通過控制id的可見性來實現收起div時清除js的提示資訊。具體如下: 在準備介面的函式中var label1 = document.getElementById("label1"); $(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值。。。。。。。