在 javascript 中查找控件

Posted

技术标签:

【中文标题】在 javascript 中查找控件【英文标题】:Finding controls in javascript 【发布时间】:2010-12-06 19:12:03 【问题描述】:

我在 javascript 中的 Formview 内的 Gridview 内查找 UpdatePanel 时遇到问题。下面的不起作用。

 var UpdatePanel3 = $get('<%=FormView1.FindControl("Gridview1").FindControl("UpdatePanel3").ClientID %>');

如何找到该控件??

【问题讨论】:

能否提供完整的页面源代码,帮助我们找到您的问题 asp.net 在嵌套控件时会重写客户端 ID。他最终会得到像 formview1_ctl00_gridview1_updatepanel3 之类的东西,以及各种乱七八糟的东西作为 clientid。 @Chad- 说对了一半,我忘记了那个 asp web 控件额外的垃圾。但这不是因为它的控件嵌套在其中,它只是asp webcontrols在使用时获得的名称路由器方式,如果它是常规的html控件,则不会发生额外的垃圾 @TStamper,对不起?如果你不嵌套控件或页面(master->page),他们不会得到额外的垃圾。这是一种保持控件唯一性的方法。 Asp.net 的引擎就是这样做的。不是浏览器或其他任何东西。 【参考方案1】:
$get('<%=UpdatePanel3.ClientID %>');

更好的方法

【讨论】:

【参考方案2】:

最简单的方法是使用 jquery。向 gridview 添加一个类并执行 $(".cssClassName")

【讨论】:

以上是关于在 javascript 中查找控件的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 或 javascript 在 GridView 的 TemplateField 中查找控件

JavaScript获取未知类的结构

查找 URL 响应?默认 WebBrowser 控件的替代方案?

将展示内容(diviframe)放在Expand控件中

javascript 怎么获取dropdownlist上的值,

FileUpload