如何使用 jquery 使不可见的控件可见? (隐藏和显示不起作用)
如何使用 jQuery 更改控件的可见性?我有一个控件,其可见属性为 false (不是 css)。
当我使用 show()
函数时,没有任何反应,似乎 hide()
和 show()
方法用于 css 集控制,不可见的属性。
How can I change the visibility of a control with jQuery? I have a control that its visible property to false (not css).
When I used show()
function for it nothing happened, it seems that hide()
and show()
methods are for css set of a control, not visible property.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您无法使用 jQuery 执行此操作,asp.net 中的
visible="false"
意味着控件未呈现到页面中。如果您希望控件转到客户端,则需要执行style="display: none;"
因此它实际上位于 HTML 中,否则客户端实际上没有任何内容可显示,因为该元素不在您的服务器发送的 HTML 中。如果删除
visible
属性并添加style
属性,则可以使用 jQuery 来显示它,如下所示:旧答案(在 帕特里克的捕获)
要更改
可见性
,您需要使用.css()
,如下所示:除非您需要让元素占据页面空间,否则请使用
display: none;
而不是 CSS 中的visibility:hidden;
,然后只需执行:。 show()
和.hide()
函数处理display
而不是visibility
,就像大多数 jQuery 函数一样:)You can't do this with jQuery,
visible="false"
in asp.net means the control isn't rendered into the page. If you want the control to go to the client, you need to dostyle="display: none;"
so it's actually in the HTML, otherwise there's literally nothing for the client to show, since the element wasn't in the HTML your server sent.If you remove the
visible
attribute and add thestyle
attribute you can then use jQuery to show it, like this:Old Answer (before patrick's catch)
To change
visibility
, you need to use.css()
, like this:Unless you need to have the element occupy page space though, use
display: none;
instead ofvisibility: hidden;
in your CSS, then just do:The
.show()
and.hide()
functions deal withdisplay
instead ofvisibility
, like most of the jQuery functions :).show() 和 .hide() 修改css显示规则。我想你想要:
.show() and .hide() modify the css display rule. I think you want:
这是我用来处理这个问题的一些代码。
首先我们显示元素,通常会通过 .show() 函数将显示类型设置为“block”,然后将 CSS 规则设置为“visible”:
或者,假设隐藏元素的类称为 hide,例如在 Twitter Bootstrap 中,toggleClass() 可能很有用:
最后,如果您想链接函数,也许具有淡入淡出效果,您可以这样做:
Here's some code I use to deal with this.
First we show the element, which will typically set the display type to "block" via .show() function, and then set the CSS rule to "visible":
Or, assuming that the class that is hiding the element is called hidden, such as in Twitter Bootstrap, toggleClass() can be useful:
Lastly, if you want to chain functions, perhaps with fancy with a fading effect, you can do it like so:
十多年过去了,不确定是否有人仍然发现这个问题或答案相关。
但一个快速的解决方法是将
asp 控件
包装在html 容器
中,每当
Javascript 事件
被触发时(如果它需要是一个事件)通过asp 控件
,只需将asp 控件
包裹在div
容器中即可。jQuery 代码如下:
It's been more than 10 years and not sure if anyone still finding this question or answer relevant.
But a quick workaround is just to wrap the
asp control
within ahtml container
Whenever the
Javascript Event
is triggered, if it needs to be an event by theasp control
, just wrap theasp control
around thediv
container.The jQuery Code is below: