Прототип, эквивалентный для jQuery, живет функция

, Если и , только если Вы - контейнерное расположение, никогда не собирается изменяться и , Вы требуете для помещения JavaSctipt/jQuery во внешний файл, Вы могли использовать сгенерированные идентификаторы в своих селекторах jQuery т.е.

$('#ctl00_ContentPlaceHolder1_Label3').html(xml);

, Очевидно, этот подход требует, чтобы Вы узнали то, что сгенерированные идентификаторы будут и требуют осторожности, если Вы когда-нибудь начнете изменять конструкцию сайта/приложения.

Иначе, Ваш лучший опции

1. Использование встроенная разметка серверного кода. Оборотная сторона к этому подходу - то, что Вы не можете поместить свой код js во внешний файл -

$('#<%= Label3.ClientID %>').html(xml);

2. Определяют уникальные классы CSS на каждом управлении, которое необходимо использовать в jQuery, который все еще позволил бы Вам помещать свой код js во внешний файл -




$('.label3').html(xml);

3. Использование селекторы jQuery для копирования соответствуют исходному идентификатору, который снова, позволил бы Вам помещать свой код js во внешний файл -

$('[id$=Label3]').html(xml);

, Этот селектор jQuery выберет все элементы с атрибутом идентификатор , значение которого заканчивается Label3. Единственная потенциальная оборотная сторона, которую я видел с этим подходом, - то, что в теории, могло быть возможно иметь Элемент управления "метка" с идентификатором Label3 в, говорят, страница Master и также на двух страницах содержания. В этом примере, с помощью селектора jQuery выше соответствовал бы всем трем маркировкам, которые могут иметь нежелательные последствия.

РЕДАКТИРОВАНИЕ:

я думал, что могло бы быть полезно повысить Ваше внимание к управление IDOverride . Страница Example может быть найдена здесь

, Она позволяет Вам указывать, какие средства управления должны иметь свой искаженный идентификатор в произведенной разметке HTML, переопределенной с идентификатором, как дан в .aspx файле при рендеринге страницы HTML. Я только играл с ним кратко с единственным Ведущим устройством Page и Панелями, но это, кажется, работает хорошо. Используя это, Вы могли использовать исходные идентификаторы в своих селекторах jQuery. Знайте однако, что результаты непредсказуемы, если у Вас должны были быть средства управления с теми же идентификаторами на Вашей странице (страницах) Master и странице (страницах) Content, которые объединены для рендеринга HTML для одной страницы.

15
задан Rob W 28 December 2011 в 22:19
поделиться

1 ответ

Обычно это делается с помощью Event # findElement :

document.observe('click', function(e, el) {
  if (el = e.findElement('.foo')) {
    // there's your `el`
    // might want to stop event at this point - e.stop()
  }
});
22
ответ дан 1 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: