Категория > Самоучитель CSS > Метод data в jQuery - «Учебник CSS»
Метод data в jQuery - «Учебник CSS»20-03-2016, 14:46. Автор: Holiday |
Метод data в jQuery даёт нам возможность связать произвольные данные с любым объектом документа или javascript, что позволяет сделать ваш код более кратким и читаемым. Начиная с версии jQuery 1.4.3 появилась возможность использовать этот метод для объектов javascript, а также отслеживать изменения этих данных. ОсновыНачнём с того, что вы можете вызвать метод data для jQuery объекта, а также использовать функцию $.data() напрямую.
Функция data – это низкоуровневая реализация, которая в действительности используется при вызове метода. Метод объекта jQuery гораздо удобнее, он также позволяет включать себя в какчестве цепочки вызовов. Также, обратите внимание, что в качестве первого параметра в функцию $.data вам необходимо передавать DOM-элемент, а не объект jQuery. Метод объекта требует двух параметров – ключ и значение. Ключ – строковая константа, а значение – любая структура данных, включая функции массивы и объекты. Существует альтернативный синтаксис, в котором можно передавать объект как один параметр:
Теперь, если вам необходимо получить сохранённые данные, вы можете вызвать функцию data, передав ей ключ в качестве параметра:
Доступ к этим данным открыт в любом месте скрипта. Вы будете получать сохранённые данные, до тех пор, пока существует элемент, получаемый по заданному селектору.
В jQuery 1.4.3 также доступны HTML5-данные, хранимые в атрибутах. Это означает, что если у вас есть элемент, объявленный следующим образом:
В этом случае вы можете получить данные из атрибута data-internal-id, вызвав метод $("#thumb1").data("internal-id"), что несомненно удобно при AJAX-запросах. Использование метода data для javascript-объектовВозможно, вы будете удивлены, но метод data также можно использовать для обычных объектов javascript. Эта функциональность официально появилась в jQuery 1.4.3.
Приведённый пример, в действительности создаёт свойство city для заданного объекта. Почему бы в таком случае не написать просто myObj.city = "Springfield"? А отличие в том, что метод data добавляет объекту несколько полезных событий, упрощающих работу с этим объектом. Например:
В приведённом примере мы используем метод data чтобы создать простейший API с помощью которого мы можем обновлять элемент. Существует ещё два события, которые могут использоваться для объекта javascript: За кулисамиjQuery создаёт пустой объект (для любопытных, он называется $.cache), который и является хранилищем всех значений, которые вы сохраняете с помощью метода data. Каждому элементу из DOM, который используется с методом data, присваивается уникальный идентификатор, который затем является ключом для доступа к данным в объекте $.cache. jQuery хранит в этом кэше не только пользовательские данные, туда попадают также внутренние данные, обработчики событий, которые вы навешиваете с помощью функций live(), bind() и delegate(). Использование центрального хранилища делает jQuery более надёжным. ЗаключениеМетод data – это только одна из многочисленных возможностей jQuery, которая делает жизнь веб-разработчиков проще. В сочетании с другими возможностями библиотеки, она дополняет прочную основу, на которую мы можем положиться. Перейти обратно к новости |