我做了一个快速的小提琴来显示这个问题:http: //jsfiddle.net/nm3Ma/1/
拿这个html:
<div class="myclass" data-number="1"></div>
<div class="myclass" data-number="2"></div>
<div class="myclass" data-number="3"></div>
而这个js
$(".myclass").each(function(){
var number = $(this).data('number');
if( number>1 )
{
$(this).attr('data-number', number-1 );
}
$('body').append($(this).data('number')+'<br/>');
});
该代码实际上将 HTML 更改为:
<div class="myclass" data-number="1"></div>
<div class="myclass" data-number="1"></div>
<div class="myclass" data-number="2"></div>
但它仍然打印:
1
2
3
有人可以解释我做错了什么吗?谢谢你。