Кажется, вы получили ответ на вопрос, но вот немного о том, как. Есть некоторые правила, о которых вы должны знать, прежде чем использовать это.
ДОБАВЛЕНИЕ
Добавление переменных с использованием объекта, возвращенного из $ ('. Selector'). Data (), работает, потому что объект данных передается по ссылке, поэтому куда бы вы ни добавляли свойство, оно добавляется. Если вы вызываете data () для другого элемента, он изменяется. Это то, что есть ...
var oData = $('#id').data();
oData.num = 0;
oData.num == $('#id').data().num; // true
Добавление объекта помещает объект внутрь объекта данных, а также «расширяет данные, ранее сохраненные с этим элементом». - http://api.jquery.com/data/#entry-longdesc
Это означает, что добавление obj в dataObj становится
oData.obj = {};
oData === { /*previous data*/, obj : { } }
Добавление массива не расширяет ранее сохраненные данные, но и не ведет себя так же, как простое значение ...
ИСПОЛЬЗУЕТСЯ
Если у вас хранятся простые значения, вы можете поместить их в переменные и делать с ними все, что хотите, не изменяя объект данных.
однако
если вы используете объект или массив для хранения данных об элементе, будьте осторожны!
То, что вы сохраняете его в переменной, не означает, что вы не меняете значение данных. Тот факт, что вы передаете его функции, не означает, что вы не меняете значения данных!
Это то, что есть то, что есть ... если это не просто ... тогда это просто копия. :п
var data = $("#id").data(); // Get a reference to the data object
data.r_redirect = "index.php"; // Add a string value
data.num = 0; // Add a integer value
data.arr = [0,1,2]; // Add an array
data.obj = { a : "b" }; // Add an object
// but here is where the fun starts!
var r_redirectString = data.r_redirect; // returns "index.php", as expected.. cool
r_redirectString = "changed" // change the value and the compare :
data.r_redirect == r_redirectString // returns false, the values are different
var oArr = data.arr; // Now lets copy this array
oArr.push(3); // and modify it.
data.arr == oArr // should be false? Nope. returns true.
// arrays are passed by reference.
// but..
var oObj = data.obj // what about objects?
oObj["key"] = "value"; // modify the variable and
data.obj["key"] == oObj["key"] // it returns true, too!
Итак, ресурсы ..
Как лучше всего хранить несколько значений для jQuery $ .data ()? https://stackoverflow.com/a/5759883/1257652
person
Brett Weber
schedule
21.05.2013
data()
расширяет JQuery DOM вашими данными ... Вы должны увидеть, как они запускают firequery - person meo   schedule 04.05.2010