私はこれを回避することはできません。私はいくつかの要素にdata-diff属性を追加しようとしました。仕事をしているようですが、htmlにそのような属性は表示されません。大したことない私は、思った開発ツールを開いて、思考の私の道はこのように行ったん:jQueryエラーでカスタムデータ属性を設定する
console: $(obj).data('diff','10');
output: [div.cont]
良い、のは、属性をチェックしてみましょう:
console: $(obj).data('diff')
output: "10"
は再び、この属性を設定できます素晴らしいですが、まだHTMLには表示されません。これをチェックしてみましょう:
console: $(obj)[0]
output:
<div class="cont" data-month="8" data-round="1">
(Tom) 8
<div class="secCol">AUG</div>
</div>
確かに何のデータ-diffは私がこれを試すかもしれない場合は、ありません。
console: $(obj)[0].data('diff','10')
output: Uncaught TypeError: $(...)[0].data is not a function(…)
私はそれが(すでにthis読み)のjQueryオブジェクト対DOM要素とは何かを持っていると思いますが、私はしようとする他に何かわかりません。
$('.cont[data-round="'+round+'"]').each(function(i, obj) {
var month = $(obj).data('month');
var diff = Math.abs(myMonth-month);
$(obj).data('diff', diff);//Here is the problem
});
'$(OBJ)[0]'あなたのHTML要素を与える、 '.dataの()' jQueryのFです統一。 回避策: '$($(obj)[0])。data( 'diff')' –