如何使用jQuery更改控件的可见性?我有一个控件,它的可见属性为false ...(不是css)
当我使用show()
函数时,没有任何事情发生,似乎hide()
和show()
方法用于控件的css集,而不是可见属性......
感谢您的回答,
祝你好运
答案 0 :(得分:34)
你无法用jQuery做到这一点,asp.net中的visible="false"
意味着控件没有呈现在页面中。如果你想让控件转到客户端,你需要做style="display: none;"
所以它实际上在HTML中,否则客户端显然没有显示,因为该元素不在你的服务器发送的HTML中。
如果删除visible
属性并添加style
属性,则可以使用jQuery显示它,如下所示:
$("#elementID").show();
要更改visibility
,您需要使用.css()
,如下所示:
$("#elem").css('visibility', 'visible');
除非您需要让元素占用页面空间,否则请在CSS中使用display: none;
而不是visibility: hidden;
,然后执行:
$("#elem").show();
答案 1 :(得分:7)
.show()和.hide()修改css显示规则。我想你想要:
$(selector).css('visibility', 'hidden'); // Hide element
$(selector).css('visibility', 'visible'); // Show element
答案 2 :(得分:1)
这是我用来处理这个问题的一些代码。
首先我们展示元素,它通常会通过.show()函数将显示类型设置为“阻止”,然后将CSS规则设置为“可见”:
jQuery( '.element' ).show().css( 'visibility', 'visible' );
或者,假设隐藏元素的类被称为隐藏,例如在Twitter Bootstrap中,toggleClass()可能很有用:
jQuery( '.element' ).toggleClass( 'hidden' );
最后,如果你想链接函数,或许有幻想的淡化效果,你可以这样做:
jQuery( '.element' ).css( 'visibility', 'visible' ).fadeIn( 5000 );
答案 3 :(得分:0)
已经10多年了,不确定是否有人还在寻找这个问题或答案。
但是一种快速的解决方法是将asp control
包装在html container
内
<div id="myElement" style="display: inline-block">
<asp:TextBox ID="textBox1" runat="server"></asp:TextBox>
</div>
无论何时触发Javascript Event
,如果需要asp control
来触发事件,只需将asp control
包裹在div
容器周围。
<div id="testG">
<asp:Button ID="Button2" runat="server" CssClass="btn" Text="Activate" />
</div>
jQuery代码如下:
$(document).ready(function () {
$("#testG").click(function () {
$("#myElement").css("display", "none");
});
});