无法识别动态内容数据属性

Dynamic content data attribute not recognized

本文关键字:数据属性 动态 识别      更新时间:2024-04-25

在#boarddiv上,我添加了5个带有5个不同数据id的按钮。

按下按钮后,我将数据id更改为数据id="新id"。但当我再次点击时,我仍然会得到旧的id。

http://jsfiddle.net/6L0bv9Lv/1/

$('#board').on('click', 'button', function() {   
    var id = $(this).data('id');
    $('.ids').text(id);
    $(this).attr('data-id', 'new id');    
});

这不是通过jQuery:更新data-属性的方式

$(this).data("id", "new id");

是正确的方式。库将只查询属性一次。之后,"id"属性在jQuery内部维护的映射中。通过使用.data() API更新该值,即可更新该映射。

如果您出于某种原因也想更新DOM,您可以自由地这样做,但jQuery不会。