ASP.Net Ajax $ find()Jquery等效

是否有一个JQuery相当于ASP.Net Ajax的$ find()函数?

$() != $find() 

因为$find返回与DIV元素相关的AJAX组件,而不是DOM元素。 您可以构建自己的插件,快捷方式查找方法。

Microsoft创建了$find作为将ASP.NET AJAX组件链接到DOM的方法。

没有1to1的等价物,但你想要的是$(’选择器’)

查看不同选择器上的文档

 $find('MyComponent') would be $('#MyComponent') $find('MyComponent',div) would be $(div).find('#MyComponent') 

如果要通过其ASP.NET代码ID而不是生成的ClientID( ctl00_RealId )查找元素,则可以使用此函数。 它只是查找ID以_{the real ID here}结尾的ID的元素:

 var $$ = function (id, context) { var $ = (jQuery) ? jQuery : return ; var el = $("#" + id, context); if (el.length < 1) el = $("[id$=_" + id + "]", context); return el; } 

例如,假设您的代码中的ID是pnlSuccess ,比如说一个面板:

  

但是在渲染的代码中它出现为: ctl00_content_ctl00_pnlSuccess

调用$$("pnlSuccess")将找到渲染的面板。

我只是做以下事情,没有麻烦,没有大惊小怪,直截了当。

 $('#' + <%=myControl.ClientID%>) 

我知道这是一个超过一千五百年的时间,但我想我有你想要的那种解决方案。 如果我是正确的,你正在寻找一个$find jQuery替代品,因为你不知道元素的ID(据我所知, $find没有选择器,但jQuery非常棒)。 我刚刚在SharePoint页面上使用Telerik控件遇到了这个问题,所以我的对象ID是一个长期疯狂的混乱,而且由于Sharepoint 2010在.NET 3.5上,我不能使用静态ID。

解决方案很简单,但它让我的大脑搁浅一段时间。 $find()按ID搜索,幸运的是我们可以通过jQuery返回字符串: $("elem").attr("id") 。 基本上我们所做的就是在$find函数中使用jQuery并且它可以工作。 这是我项目的一个示例:

 var contextMenu = $find($("[id*=mnuContext]").attr("id")); 

这对我有用,并且将帮助我完成其余的SharePoint解决方案。