如何将对象推送到data()
作为数组的 jquery 对象中。我想最终得到numbers
包含对象数组的 data 属性,我通过循环访问特定类的一些 html 来获取这些对象。我不明白如何将每个对象推入数组。
我的第一个问题是,如果我在一个对象中有一些数据,我如何查看整个对象。好像以前我能做到
$('#div1').data('values', {'one' : 'UNO', 'two' : 'DUE'});
console.log($('#div1').data('values'))
Chrome 会给我一些可扩展的对象来查看。现在我只是看到[object Object]
如果我这样做我仍然可以看到它们
console.log($('#div1').data('values').one)
.
但是,如果我不确切知道对象中的内容,这似乎有点不方便data()
。检查我离实现这一目标有多近会很有用。
一旦我将所有数据分配给它们各自的对象,
$(document).ready(function(){
$('#div1').data('values', {'one' : 'UNO', 'two' : 'DUE'});
$('#div2').data('values', {'three' : 'TRE', 'four' : 'QUATTRO'});
$('#div3').data('values', {'five' : 'CINQUE', 'six' : 'SEI'});
$('#div4').data('values', {'seven' : 'SETTE', 'eight' : 'OTTO'});
});
如何遍历这些对象(所有对象都具有共享类add
)并将它们包含的对象data.values
放入另一个data()
对象中?在这里,我尝试在body
的数据对象上执行此操作numbers
:
`$('body').data('numbers', []);`
以便
$('body').data('numbers') =
['div1': {
'one': 'UNO',
'two': 'DUE'
},
'div2': {
'three': 'TRE',
'four': 'QUATTRO'
},
'div3': {
'five': 'CINQUE',
'six': 'SEI'
},
'div4': {
'seven': 'SETTE',
'eight': 'OTTO'
}]
我的尝试失败了:
$('.add').each(function (index, element) {
$('body').data(numbers, {
element.attr('id'): element.data('values')
//could not understand how to use push here, though it seems likely that's the answer
});