2011-11-03 31 views
2

在這撥弄我有我的表格的一部分: http://jsfiddle.net/ZXSKH/55/隱藏標籤和inputfield用CSS或jQuery的

我想用CSS和設置顯示選擇類隱藏在默認情況下,標籤和1個輸入框:沒有。這適用於選擇「輸入」,但是對於標籤不起作用,因爲其他地方我使用display:inline-block或block,然後再次使標籤可見。

而不是在CSS中這樣做,我應該隱藏jQuery的標籤和inputfield? 有人可以幫我嗎?

回答

1

正如我在你看到的代碼和HTML,你沒有任何容器添加所有的控制。使用表或div。我想要使​​用<div>。如果你想遵循相同然後按照這兩個環節作爲參考重置你的CSS爲特定的項目,然後設置其visibility在CSS中隱藏的:

h1.hidden {visibility:hidden;} 

Jquery: How to check if the element has certain css style

http://api.jquery.com/css/

將隱藏的控件放在div中,然後使用$('#divName1')。hide()或$('#divName1')。show()來實現您的功能。

你可以生成動態的html內容,而不是指定一個控制點擊檢查項目..使用insertAfter類似jQuery的方法。 你可以得到更詳細的關於這個以下鏈接:

http://api.jquery.com/?ns0=1&s=insertafter&go=

選擇InsertAfter細節的例子,以簡化你的進程。

+0

這只是一個非常小的部分+ 70輸入字段與更多thadi 20divs。不想讓事情變得複雜。 – logistef

+0

你可以按照第一種方法把隱藏控件放在div裏面,就像我先說的那樣...它會減少一半的努力,而不是你的正確的努力......你必須選擇除了三個或四個之外的單個內部... –

0

javascript雖然!試一下。

<script type="text/javascript"> 
    <!-- 
    function ShowOrHide(id) { 
     var e = document.getElementById(id); 
     e.style.display = 'block'; 
    } 
function Hide(id) { 
     var e = document.getElementById(id); 

      e.style.display = 'none'; 

    } 
    //--> 
    </script> 
1

您可以使用jQuery隱藏標籤和輸入字段。 它可以很容易地使用jquery完成

例如。

$(id).css('display','none');

,或者您也可以使用jQuery 隱藏方法

EG。

$(id).hide(); 
2

你會讓你的生活更容易,如果你周圍放置你想隱藏字段,這樣一個div標籤,jQuery代碼可以顯示/隱藏特定的div(給它一個ID爲目標的話)。這樣,將顯示設置爲嵌入塊或塊上的標籤不會有什麼不同,因爲包含標籤的div已經隱藏了。

+0

這實際上是一個好主意,我可能就這樣做! – logistef

+0

@logistef很高興爲您提供幫助:-)將div應用到您的HTML中以自由地將語義上屬於同一部分的部分分組 - 這就是他們的目標! –

0

你不應該在這裏使用JavaScript來解決看起來只是顯示問題。用css找到解決方案比使用錯誤的工具解決問題更好。爲什麼你需要設置標籤顯示來阻止其他地方?這可以更具體地針對需要展示的特定標籤,而讓其他標籤隱藏起來嗎?

0

您可以覆蓋顯示:inline-block的等有重要的,所以創建一個類

.hidden{display: none !important;} 

適用於您的標籤或任何

<label id="my-label" class="hidden"></label> 

,如果你想刪除它(使它可見),使用jQuery

$("#my-label").removeClass("hidden"); 
+0

對不起,但我不同意這種方法,像這個例子一樣微不足道。避免使用'!important'標籤,除非作爲最後的手段,因爲它會以風格級聯的自然方式拋出扳手。此外,jQuery具有顯示和隱藏功能,無需手動添加/刪除類。 –