2015-10-16 25 views
0

我有一個非常簡單的輸入標籤:JQuery的 - 輸入標籤的變化visibility屬性

<input id="DAhour" type="number" style="width:50px; font-size: xx-small; visibility:hidden"> 

起初必須是不可見的。然後,如果我將組合框更改爲正確的索引,它應該變得可見。我設法正確地獲得了組合框和選定的項目,但我無法使輸入標記可見。我試着用:

$("#DAhour").css("visibility", "visible"); 

但如果我請與

$("#DAhour").is(":visible") 

它保持始終等於假的知名度並不因爲工作。然後,當組合框再次改變我應該能夠使其不再可見,SI我再次

$("#DAhour").css("visibility", "hidden"); 

回答

4

試過因爲當你使用visibilty rule,即使元素是不可見它在DOM佔用空間。所以,jQuery的visible selector會認爲它是可見的。

如果元素消耗文檔中的空間,則認爲它們是可見的。可見元素的寬度或高度大於零。

帶有visibility: hiddenopacity: 0的元素被視爲可見, ,因爲它們仍佔用佈局中的空間。

如果你想真正隱藏元素使用display規則,即display: none或速記方法.hide()/show()

+0

如果他想要使用該空間,但他也可以使用[.attr()](http://api.jquery.com/attr/)方法更改可見性。 – Danmoreng

+0

如果我做「顯示:無」它甚至不隱藏輸入標籤。而不是attr(「知名度」,「可見」)它不會使其可見.. – ayasha

+0

@ayasha http://jsfiddle.net/arunpjohny/ogL9jxfu/1/ –

0

嘗試使用$("#DAhour").show()$("#DAhour").hide()方法

0

嘗試檢查可見:

if($("#DAhour").css("visibility")!== "hidden") 

並改變能見度

$("#DAhour").css("visibility","hidden"); 

$("#DAhour").css("visibility","visible");