获取客户端ID在JavaScript
问题描述:
我试图解决别人的代码,我有这样的线贯穿我的JavaScript -获取客户端ID在JavaScript
var dataDiv = document.getElementById("ctl00_cpMain_tcMainTabs_tResBDetails_tcDetailTabs_tBDetail_bmrDetailDataDiv")
什么是首选语法?
仅供参考,这是一个支持jQuery的Web应用程序。
答
我们曾经使用却成了多余的,当我们搬到了MVC一个诀窍是这样的,当你使用jquery以及
var datadiv = '#<%= bmrDetailDataDiv.ClientID %>'
然后你可以使用jQuery称其为
$(datadiv)
容易
,或者如果你不需要其他任何地方使用它在页面上简化为
$('#<%= bmrDetailDataDiv.ClientID %>')
你可以使用一个匹配的标识符,但个人我不认为它是如此优雅
$("div[id$='_bmrDetailDataDiv']");
+0
谢谢!这是我正在寻找的。 – duckmike 2012-07-23 13:50:04
答
我走出一个肢体,猜测这是一个ASP.NET应用程序?这看起来像服务器端生成的客户端ID。
你可以尝试的东西,如替换它:
var dataDiv = document.GetElementById("<%: [serverSideControlId].ClientID %>");
例如
var dataDiv = document.GetElementById("<%: Button1.ClientID %>");
,或者,如果使用jQuery:
var dataDiv = $("#<%: Button1.ClientID %>")[0];
问题是什么? – Austin 2012-07-23 13:31:08
我的理解是不应该以这种方式引用控件,并使用完全限定名称。我应该不能单独引用bmrDetailDataDiv? – duckmike 2012-07-23 13:34:29
该ID有点冗长,但没有什么可以“修复”......它应该可以正常工作。 – Christoph 2012-07-23 13:34:33