我有一个ASPX-Page。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#html-Button").click(function() {
$(".someClass").show();
});
$("#<%= btn.ClientID %>").click(function() {
$(".someClass").show();
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div style="visibility:hidden" class="someClass">blabla</div>
<input id="html-Button" type="button" value="html-Button" />
<asp:Button runat="server" ID="btn" Text="click me" OnClientClick="return false;" />
</form>
</body>
</html>
我的问题是
<div>
中,属性visible="false"
不起作用,我必须使用style-attribute
,.show()
永远不会使用任何一个按钮。但是,.hide()
(与可见div组合)可以正常工作。
答案 0 :(得分:2)
Visible
是一个ASP.NET属性,除非添加runat="server"
,否则不能将其应用于HTML控件。
如果您希望能够从服务器端控制div的可见性,请添加runat="server"
并提供用于引用该元素的ID
,或使用{{3在客户端上呈现为div
。
关于可见性问题,请将div
的样式更改为display: none
而不是visibility: hidden
,这应该可以解决问题。
jQuery show()
和hide()
修改了display
CSS属性。
答案 1 :(得分:1)
为DIV的CSS尝试display:none
。
答案 2 :(得分:0)
.show()
和.hide()
适用于CSS值display: none
或display: block
,如果您想要查看可见性,那么您应该.css('visibility','hidden')
和其他内容。
答案 3 :(得分:0)
是的,我建议。尽量不要添加visibility:hidden
属性。
您可以使用
保持简单$(document).ready(function() {
$(".someClass").css("display":"none");
$("#html-Button").click(function() {
$(".someClass").toggle(); //hides or shows
});
$("#<%= btn.ClientID %>").click(function() {
$(".someClass").toggle();
});
});