jQuery .data():可以递增(++或 - )?

Har*_*ldo 20 jquery

什么是在jQuery .data()对象中增加值的最佳方法?

Kob*_*obi 26

这看起来有点奇怪,但根据文档.data()将所有数据字段作为对象返回,因此您可以直接更改其值:

$('#id').data('counter', 0);
Run Code Online (Sandbox Code Playgroud)

两种选择都有效:

$('#id').data().counter++;
$('#id').data()['counter'] += 5;
Run Code Online (Sandbox Code Playgroud)

检索数据会返回预期值:

alert($('#id').data('counter')); // 6
Run Code Online (Sandbox Code Playgroud)


gna*_*arf 9

或者,如果您控制要存储的内容,请存储对象引用,以便您可以使用++以下命令直接修改对象上的值:

var $elem = $('<div>');
$elem.data('something', {value:1});
$elem.data('something').value++;

console.log($elem.data('something').value); // 2
Run Code Online (Sandbox Code Playgroud)