data()
配列であるjqueryオブジェクトにオブジェクトをプッシュするにはどうすればよいですか。numbers
特定のクラスのHTMLをループして取得した、オブジェクトの配列を含むdataプロパティを作成したいと思います。各オブジェクトを配列にプッシュする方法がわかりません。
私の最初の質問は、オブジェクトにデータがある場合、オブジェクト全体をどのように見ることができるかということです。昔は私にできることだったようです
$('#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
});