jQuery数据值没有更新

时间:2014-04-04 16:23:54

标签: javascript jquery

有人可以解释为什么这不起作用吗?

我要做的是更新已删除元素中名为“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中更新值?我该怎么做?

1 个答案:

答案 0 :(得分:14)

jQuery的data()不更新属性,它设置内部数据对象,但仅使用data属性作为默认值

如果由于某种原因您必须更新HTML5数据属性,请使用attr()

.attr('data-section_id','999')