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...
Thanks for your answers,
Best regards
.show() and .hide() modify the css display rule. I think you want:
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 :)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: