如何使用数据方法从元素中获取所有数据集?

时间:2009-06-16 04:15:00

标签: jquery

所有内容都在标题中说,我希望使用数据方法从一个元素中获取所有数据集。

(最终我想将这些数据复制到新创建的元素上)

感谢您的帮助!

奥利弗

1 个答案:

答案 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'});