ASP.Net Ajax $ find () Эквивалент Jquery - PullRequest
11 голосов
/ 04 декабря 2009

Есть ли JQuery-эквивалент функции $ find () в ASP.Net Ajax?

$() != $find()

Ответы [ 5 ]

8 голосов
/ 24 января 2012

Нет, поскольку $find возвращает компонент AJAX, относящийся к элементу DIV, а не элемент DOM. Вы можете создать свой собственный плагин, который сокращает метод поиска.

Microsoft создала $find для связи своих компонентов ASP.NET AJAX с DOM.

2 голосов
/ 04 декабря 2009

Я бы просто сделал следующее, ни суеты, ни суеты, прямо к делу.

$('#' + <%=myControl.ClientID%>)
2 голосов
/ 04 декабря 2009

Нет эквивалента 1to1, но вам нужно $ ('селектор')

Проверьте документы на различных селекторах

$find('MyComponent') would be $('#MyComponent')

$find('MyComponent',div) would be $(div).find('#MyComponent')
1 голос
/ 10 июля 2012

Я знаю, что это НЕДОРОГО, но я думаю, что у меня есть решение, которое вы ищете. Если я прав, вы ищете $find заменитель jQuery, потому что вы не знаете ID элемента (у которого $find, насколько я знаю, нет селекторов, но jQuery потрясающий). Я только что столкнулся с этой проблемой, используя элементы управления Telerik на странице SharePoint, поэтому мой идентификатор объекта - это какой-то долгий сумасшедший беспорядок, и, поскольку Sharepoint 2010 работает на .NET 3.5, я не могу использовать статический идентификатор.

Решение простое, но оно какое-то время ломало мне голову. $find() выполняет поиск по идентификатору, который, к счастью, мы можем вернуть в виде строки через jQuery: $("elem").attr("id"). Поэтому в основном мы используем jQuery внутри функции $find, и это работает. Вот пример из моего проекта:

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

Это сработало для меня и очень поможет мне с остальной частью моего решения SharePoint.

1 голос
/ 04 декабря 2009

Если вы хотите найти элемент по его коду ASP.NET, а не по сгенерированному ClientID (ctl00_RealId), вы можете использовать эту функцию. Он просто ищет элементы с идентификатором, который заканчивается на _{the real ID here}:

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

Например, скажите, что ваш код в вашем коде pnlSuccess, например, панель:

<asp:Panel ID="pnlSuccess" runat="server"></asp:Panel>

Но в отрендеренном коде это выглядит так: ctl00_content_ctl00_pnlSuccess

вызов $$("pnlSuccess") найдет эту визуализированную панель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...