我有一个数据属性的div
<div class='p1' data-location='1'></div>
Run Code Online (Sandbox Code Playgroud)
我有脚本喜欢
$('button').click(function(){
var loc = $('.p1').data('location');
alert('data location is'+loc);//SHOW THE DATA
var num = 10;
var count = loc;
var element = $('.p1');
var intv = setInterval(anim,1000);
function anim(){
count++;
num--;
if(count==37){count = 1;}
if(num==1){clearInterval(intv);}
$(element).animateCSS('bounceOut',{
callback: function(){
$(element).attr('data-location',count);
$(element).animateCSS('bounceIn');
}
});
}
anim();
});
Run Code Online (Sandbox Code Playgroud)
使用上面的脚本data-location属性将更新为10,但如果我再次单击该按钮,数据位置仍然是1
第一次使用.data()访问data-*属性时,该属性的值由jQuery在内部.data()缓存,然后使用缓存.更新属性.attr()不会更新缓存,您需要使用.data()它来更新它.这就是你需要使用的原因
$(element).data('location', count);
Run Code Online (Sandbox Code Playgroud)
更新它.
$(element).attr('data-location',count);
Run Code Online (Sandbox Code Playgroud)
不同于
$(element).data('location',count);
Run Code Online (Sandbox Code Playgroud)
因此,请使用第二个。
检查数据与属性以了解详细信息。
| 归档时间: |
|
| 查看次数: |
2913 次 |
| 最近记录: |