有人可以解释为什么这不起作用吗?
我要做的是更新已删除元素中名为“section_id”的数据属性,并将新部分放入其中。我在删除时检查这个数据属性,这样他们就无法将它放入它已经存在的部分。所以很自然地,如果他们将它放在一个新的部分中,我希望更新部分ID。
我有一个像这样的div:
<div class="draggable" data-section_id="413">...</div>
我正在追踪价值所做的事情:
alert(newTaskRow.find('.draggable').data('section_id')); //returns 413
newTaskRow.find('.draggable').data('section_id','999');
alert(newTaskRow.find('.draggable').data('section_id')); //returns 999
alert(newTaskRow.find('.draggable').html());
但HTML仍显示:
<div class="draggable" data-section_id="413">...</div>
为什么不在HTML中更新值?我该怎么做?
答案 0 :(得分:14)
jQuery的data()
不更新属性,它设置内部数据对象,但仅使用data属性作为默认值
如果由于某种原因您必须更新HTML5数据属性,请使用attr()
.attr('data-section_id','999')