所有内容都在标题中说,我希望使用数据方法从一个元素中获取所有数据集。
(最终我想将这些数据复制到新创建的元素上)
感谢您的帮助!
奥利弗
答案 0 :(得分:4)
This has been asked before。我的回答是,因为这是一个很好的问题:
jQuery将所有数据信息存储在jQuery.cache内部变量中。使用这个简单但有用的插件可以获取与特定对象关联的所有数据:
jQuery.fn.allData = function() {
var intID = jQuery.data(this.get(0));
return(jQuery.cache[intID]);
};
有了这个,你可以这样做:
$('#myelement').data('test1','yay1')
.data('test2','yay2')
.data('test3','yay3');
$.each($('#myelement').allData(), function(key, value) {
alert(key + "=" + value);
});
或者,您可以只存储一个对象:
$('#myelement').data('data', {test1:'yay1',test2:'yay2',test3:'yay3'});