js 获取控件ID 问题

<scriptlanguage=javascripttype="text/javascript">functionPanelChange(){varp=document.... <script language=javascript type="text/javascript">
function PanelChange()
{
var p=document.getElementById("<%=Panel_UserInfo.ClientID%>");
if(p.style.display=="")
{
p.style.display="none";
}
else
{
p.style.display="";
}
}
</script>
上面的代码可以使ID为Panel_UserInfo显示或隐藏
但我的页面上有好几个Panel 我想将Panel的名称作为传递参数,来对他们进行显示或隐藏:
<script language=javascript type="text/javascript">
function PanelChange(Panel)
{
var p=document.getElementById("<%=Panel.ClientID%>");
if(p.style.display=="")
{
p.style.display="none";
}
else
{
p.style.display="";
}
}
</script>
但这样写无效的
应该怎么写?
展开
 我来答
curllion
2008-12-24 · TA获得超过3633个赞
知道小有建树答主
回答量:1561
采纳率:50%
帮助的人:628万
展开全部
var p=document.getElementById("<%=Panel.ClientID%>");
对于这行代码来说,Panel这个对象是服务端的对象,在客户端无法得到的

function PanelChange(Panel)
显然,这个函数传入的参数是Panel,但是<%=Panel.ClientID%>这又是在服务端运行的,这里的Panel是一个服务端的对象,与js函数的参数Panel完全是两回事

你这样改一下
function PanelChange(Panel)
{
if(p.style.display=="")
p.style.display="none";
else
p.style.display="";
}
当调用这个函数的时候 ,你就可以把<%=Panel.ClientID%>当作一个参数传入了:
PanelChange("<%=Panel1.ClientID%>");
PanelChange("<%=Panel2.ClientID%>");
PanelChange("<%=Panel3.ClientID%>");
PanelChange("<%=Panel4.ClientID%>");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式