Методы данных jQuery
Часто есть данные об элементе, которые Вы хотите хранить с элементом. В обычном JavaScript Вы могли бы сделать это, добавляя свойство в элемент DOM, но приходится иметь дело с проблемами памяти в некоторых браузерах. jQuery предлагает прямой способ хранения данных, связанных с элементом, и библиотека сама управляет проблемами памяти для Вас.
Хранение и получение данных, связанных с элементом:
$( "#myDiv" ).data( "keyName", { foo: "bar" } );
$( "#myDiv" ).data( "keyName" );//Возвращает {foo: "bar"}
Любой вид данных может быть сохранен в элементе. Для целей этой статьи, .data()
будет использоваться, чтобы хранить ссылки на другие элементы.
Например, можно установить отношение между элементом списка и <div>
, который находится в нем. Это отношение можно было бы устанавливать каждый раз, когда элемент списка затрагивается, но лучшее решение состояло бы в том, чтобы установить отношение однажды, затем сохранить указатель на <div>
в элементе списка, используя .data()
:
Хранение отношения между элементами, используя.data ():
Пример
var $li = $( this );
var $div = $li.find( "div.content" );
$li.data( "contentDiv", $div );
});
Попробуйте Сами »
Позже, мы не должны обнаруживать div снова; мы можем просто прочитать его из данных элемента списка:
var $firstLi = $( "#myList li:first" );
$firstLi.data( "contentDiv" ).html( "new content" );
В дополнение к передаче .data()
единственной пары ключ/значение, чтобы хранить данные, можно также передать объект, содержащий одну или более пар.