Data-атрибуты
HTML5 даёт нам возможность использовать произвольные data-атрибуты для элементов:
<div data-foo="bar"></div>Для работы с data-атрибутами в jQuery есть несколько методов:
получение всех значений в формате ключ-значение:
{ key: value }
получение значения по ключу
установка значения
установка нескольких значений
удаление значения по ключу или ключам
удаление нескольких значений
Вот сейчас будет сложный и важный момент!
МетодjQuery.data() не манипулирует атрибутами HTML, а работает со своим реестром, и лишь при отсутствии там данных пытается заполучить информацию из соответствующего атрибута data-*.
Не попадитесь!
<div id="my" data-foo="bar"></div>$("#my").data("foo"); // >>> bar
$("#my").attr("data-foo"); // >>> bar
$("#my").data("foo", "xyz");
$("#my").data("foo"); // >>> xyz
$("#my").attr("data-foo"); // >>> bar !!!
$("#my").attr("data-foo", "def");
$("#my").data("foo"); // >>> xyz !!!
$("#my").attr("data-foo"); // >>> defНаглядный пример:
Last updated