无法将data-id设置为HTML元素

Sur*_*S M 5 javascript jquery html5 custom-data-attribute

我正在寻找这个.发现这篇旧文章这篇文章.但不适合我.

我的问题是:我无法data-id通过jQuery 设置增量到HTML元素.我能够提醒相同,但我没有设置HTML.如果我检查,元素没有变化.

jQuery的

$(document).ready(function() {    
   $("#search").click(function(){      
   var num = $(this).data('id');    
    num++; 
    $("span").text(num);
    $(this).data('id', num);
   });    
 });
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个

$(this).data('id') === num;
Run Code Online (Sandbox Code Playgroud)

这是一个jsFiddle演示

v1.9.1在控制台中使用并且没有错误.如果有人能找到这个问题,它会很棒.

Mar*_*son 8

所有其他答案都是正确的 - 固定'val'val- 当然这解决了NaN问题.

然而问题是:

我无法通过jQuery将增加的data-id设置为HTML Element.我能够提醒相同,但我没有设置HTML.如果我检查,元素没有变化.

jQuery使用内部表示(1)data.如果你想data-id在督察中看到你需要使用: $(this).attr('data-id', num);


(1)"内部代表":

所有数据都存储在名为cache的jQuery对象的属性中.在控制台中记录$ .cache的内容,以查看与任何DOM元素关联的所有数据和事件.

请参阅:https://stackoverflow.com/a/4385015/775359

  • 我会坚持使用`.attr`.谢谢 :-) (2认同)