我怎么能用jquery看到一个看不见的控件(隐藏并显示不起作用)

如何使用jQuery更改控件的可见性? 我有一个控件,它的可见属性为false …(不是css)

当我使用show()函数时没有发生任何事情,似乎hide()show()方法是针对控件的css集,而不是可见属性…

谢谢你的回答,

最好的祝福

您无法使用jQuery执行此操作,asp.net中的visible="false"表示控件未呈现到页面中 。 如果你想让控件转到客户端,你需要做style="display: none;" 所以它实际上是在HTML中,否则客户端显示没有任何内容,因为该元素不在您的服务器发送的HTML中。

如果删除visible属性并添加style属性,则可以使用jQuery来显示它,如下所示:

 $("#elementID").show(); 

旧答案( 帕特里克之前)

要更改visibility ,您需要使用.css() ,如下所示:

 $("#elem").css('visibility', 'visible'); 

除非您需要让元素占用页面空间,否则请使用display: none; 而不是visibility: hidden; 在你的CSS中,然后只需:

 $("#elem").show(); 

与大多数jQuery函数一样, .show().show()函数处理display而不是visibility性:)

.show()和.hide()修改css显示规则。 我想你想要:

 $(selector).css('visibility', 'hidden'); // Hide element $(selector).css('visibility', 'visible'); // Show element 

这是我用来处理这个问题的一些代码。

首先我们展示元素,它通常会通过.show()函数将显示类型设置为“阻止”,然后将CSS规则设置为“可见”:

 jQuery( '.element' ).show().css( 'visibility', 'visible' ); 

或者,假设隐藏元素的类被称为隐藏,例如在Twitter Bootstrap中,toggleClass()可能很有用:

 jQuery( '.element' ).toggleClass( 'hidden' ); 

最后,如果你想链接函数,或许有幻想的淡化效果,你可以这样做:

 jQuery( '.element' ).css( 'visibility', 'visible' ).fadeIn( 5000 );