2015-10-16 23 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");