Работа с Выборками jQuery

Получатели и Установщики jQuery

jQuery "перегружает" свои методы, таким образом, у метода, используемого, чтобы установить значение обычно, то же самое имя метода используется, чтобы получить значение. Когда метод используется, чтобы установить значение, он называется установщиком. Когда метод используется, чтобы получить (или прочитать) значение, он называется получателем.

Установщики jQuery влияют на все элементы в выборке. Получатели jQuery получают требуемое значение только для первого элемента в выборке.

Пример

// Метод .html(), используемый как установщик:
$( "h1" ).html( "привет мир" );

Попробуйте Сами »

Пример

// Метод .html(), используемый как получатель:
$( "h1" ).html();

Попробуйте Сами »

Установщики возвращают объект jQuery, позволяя Вам продолжать вызывать методы jQuery на Вашей выборке. Получатели возвращают то, что их попросили получить, таким образом, невозможно продолжать вызывать методы jQuery на значении, возвращенном получателем.

// Попытка вызвать метод jQuery // после вызова получателя. // Это НЕ сработает: $( "h1" ).html().addClass( "test" );

Объединение в цепочку

Если Вы вызываете метод на выборке, и этот метод возвращает объект jQuery, можно продолжать вызывать jQuery методы на объекте, не останавливаясь на точке с запятой. Эта практика упоминается как "объединение в цепочку":

Пример

$( "#content" ).find( "h3" ).eq( 2 ).html(
"новый текст для третьего h3!" );

Попробуйте Сами »

Читаемость кода можно улучшить, разбив цепочку на несколько строк:

$( "#content" ) .find( "h3" ) .eq( 2 ) .html( "новый текст для третьего h3!" );

jQuery также обеспечивает метод .end(), чтобы возвратиться к исходной выборке, если Вы должны изменить выборку в середине цепочки:

Пример

$( "#content" )
    .find( "h3" )
    .eq( 2 )
        .html( "новый текст для третьего h3!" )
        .end() // Восстанавливает выборку
        //   до всех h3 в #content
    .eq( 0 )
        .html( "новый текст для первого h3!" );

Попробуйте Сами »

Объединение в цепочку чрезвычайно мощный инструмент, и эта возможность, которую адаптировали много библиотек, как только она стала популярной благодаря jQuery. Однако, это надо использоваться с осторожностью – обширное объединение в цепочку может сделать код чрезвычайно трудным для модификации или отладки. Нет никакого конкретного правила относительно того, какой длины цепочка должна быть, только знайте, что легко получить очень длинную цепочку.

Далее: Как я отключаю/включаю элемент формы?

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)