说我有一组元素$元素。假设他们都有一个名为“amount”的数据attr。第一个有data-amount = 1,second 2等等。什么是最简单的方法来增加x所有值的值。解决方案是
$elements.each(function(){
$(this).data('amount',$(this).data('amount')+=x);
});
有没有更好的解决方案,而不使用每个声明? 谢谢!
答案 0 :(得分:3)
jQuery,至少从v1.6.2开始,不为接受函数的.data()
提供重载。仍在使用each
,但在其中您可以执行以下操作:
$(this).data().amount += x;
答案 1 :(得分:1)
$elements.data('amount', function () {
return $(this).data('amount') += x;
});