Evgeniy метод on() включает в себя, кроме всего прочего и функционал метода delegate() и уже удаленного метода .live(). Это позволяет устанавливать делегированную обработку событий. Проще говоря, это установка обработчика событий не на сам целевой элемент, а на его родительский.
Александр Полях я не очень понимаю ваш вопрос, т.к. обработчики событий (за исключением делегированной обработки событий), в любом случае, устанавливаются на каждый элемент отдельно.
Владислав Поляков вы это серьёзно? То есть, вы считаете, что лучше изменять DOM по ходу пьесы и подгружать изображения динамически, особенно на слабой скорости подключения инета?
Елена попробую еще раз. Есть принципиальная разница между объектом jQuery и DOM-элементом. Объект jQuery, кроме всего прочего, содержит и выбранный элемент(ы). Методы jQuery применяются только к объекту jQuery, а в вашем случае метода .play() нет у объекта jQuery, но он применим к DOM-элементу. Поэтому, мы извлекаем элемент из объекта и уже к нему применяем метод .play()
Елена, рассматривайте части кода по отдельности. Первая часть во всех трёх вариантах - это получения объекта jQuery (акцентирую на этом внимание!). Вторая часть кода в первом и третьем варианте - это уже работа непосредственно с полученным объектом. То есть, мы обращаемся к его свойствам и методам. Вот очень примитивный пример. Обратите внимание, что библиотека jQuery не подключена, но по сути, мы создали свою микро-библиотеку jQuery ))