Embora existam alguns exemplos sobre isso na web, não parece funcionar corretamente. Eu não consigo descobrir o problema.
Eu tenho este html simples
<div id="foo" data-num="0"></ div>
<a href="#" id="changeData">change data value</a>
Cada vez que clico no link "alterar valor dos dados", quero atualizar o valor dos dados de data-num. Por exemplo, preciso que seja 1,2,3,4, ... (mais 1 toda vez que clico no link)
o que eu tenho é
var num = $('#foo').data("num");
console.log(num);
num = num+1;
console.log(num);
$('#foo').attr('data-num', num);
O valor muda uma vez de 0 para 1 todas as vezes. Não posso torná-lo incremental. Alguma sugestão do que estou fazendo de errado?
.data()
. O atributo não é atualizado e não deve ser usado para armazenar ou recuperar dados, apenas para definir dados inicialmente.