jQuery работа с выбранными элементами

После того как вы сделали выборку элементов с помощью jQuery, вы можете вызывать методы для этой выборки. Методы обычно бывают одним из двух типов: getters (получатели) или setters (установщики). Getter получает свойство первого выбранного элемента, setter устанавливает свойство для всех выбранных элементов.

Цепочки вызовов

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

// пример цепочки вызовов
$('#content').find('h3').eq(2).html('новый текст для третьего h3!');

Если вы пишете цепочку, которая состоит из нескольких шагов, то ваш код будет более читабельным, если вы разделите цепочку на несколько отдельных строк.

// пример форматирования цепочки вызовов
$('#content')
    .find('h3')
    .eq(2)
    .html('новый текст для третьего h3!');

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

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

Замечание.

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

Getters,setters.

jQuery перегружает свои методы, поэтому метод для установки значения обычно называется также, как и метод для получения значения. Метод, используемый для установки значения, называется setter. Метод, используемый для получения (или чтения) значения, называется getter. Setter-ы действуют на все элементы из выборки, getter-ы получают нужное значение только для первого элемента из выборки.

// пример метода $.fn.html, работающего как setter
$('h1').html('hello world');
// пример метода html, работающего как getter
$('h1').html();

Setter-ы возвращают объекты jQuery, позволяя тем самым продолжать вызывать методы jQuery для выборки. Getter-ы возвращают произвольные объекты, следовательно, вы не можете вызывать методы jQuery для объектов, полученных с помощью getter-а.

источник

Читайте также: