jQuery データはデータを複数の要素にリンクできるようです。以下の例では、両方の要素が両方のプロパティを取得しますが、要素にのみ影響するように見え#one
ます。
オブジェクトを変更しているので、これはjQueryで予想される動作だと思いますか?
<div id="one" class="thing"></div>
<div id="two" class="thing"></div>
<div id="three" class="thing"></div>
<script>
jQuery(function($) {
$('.thing').data('obj',{a:'a'});
$('#one').data('obj',$.extend($('#one').data('obj'),{one:'one'}));
//Display:
for (i in $('#one').data('obj')) {
alert(i+' in obj.');
}
for (i in $('#two').data('obj')) {
alert(i+' in obj.');
}
})
</script>
JSFiddle:
個々のデータを設定するために .each() 関数で初期化することでこの問題が解決することは知っていますが、これは javascript または jQuery のバグと見なされますか??