当前位置: 代码迷 >> ASP.NET >> div runat=server后document.getElementById("Div1").style.display="none"失败解决方案
  详细解决方案

div runat=server后document.getElementById("Div1").style.display="none"失败解决方案

热度:8868   发布时间:2013-02-26 00:00:00.0
div runat=server后document.getElementById("Div1").style.display="none"失败
div   runat=server后document.getElementById( "Div1 ").style.display= "none "失败
---------------------------------------------------------
html里
<div   id= "Div1 "   class= "topFolder "   >

js里
document.getElementById( "Div1 ").style.display   =   "none ";
就没什么问题
-------------------------------------------
但是
html改成
<div   id= "Div1 "   class= "topFolder "   runat= "server ">
js执行到document.getElementById( "Div1 ").style.display   =   "none ";
就出错

--------------------------------------------
我.cs程序里需要用到id,所以怎么办呢?
有什么办法替换document.getElementById( "Div1 ").style.display   =   "none ";

?????????????

------解决方案--------------------------------------------------------
html改成 <div id= "Div1 " class= "topFolder " runat= "server "> js执行到document.getElementById( "Div1 ").style.display = "none ";就出错==============是不是后台把它的visible设为false了?
------解决方案--------------------------------------------------------
有可能是慕白兄说到的情况

也有可能是id改变了,改成
document.getElementById( " <%=Div1.ClientID%> ").style.display = "none ";
------解决方案--------------------------------------------------------
同意babyrockxray(紫色阴影)这个控件有可能是个子控件.
------解决方案--------------------------------------------------------
你看一下 <div id= "Div1 " class= "topFolder " runat= "server ">
在页面打开后,源代码里还是叫Div1吗?
------解决方案--------------------------------------------------------
你是不是用了母版页了?
因为用了母版页,服务端控件的ID会重新解释。
你要用查看源代码后(即经过服务器解释后)的源文件中的DIV的ID。
------解决方案--------------------------------------------------------
用ClientID就可以了.
------解决方案--------------------------------------------------------
在content区域里放
document.getElementById( " <%=Div1.ClientID%> ").style.display = "none ";
  相关解决方案