我有这个功能每10秒钟获取一次新广告,但我收到了错误
function getnewads(){
var newer ;
// This fetches old value from 'data-value' attribute
var old_val = $("#new_data").data('value');
$.ajax({
type: "POST",
url: "users/process.php",
data:{
getnewads: "getnewads"
},
cache: false ,
dataType: 'json',
async: false
}).success(function(dat){
if(dat.status == 'success'){
$("#new_data").empty();
for(i = 0;i < dat.counts; i++){
newer = dat.counts + old_val; alert(old_val); /// problem att old_val alerts Object object.
if(newer > 0){
$("#new_data").html('<div class="added_ad">'+ newer +' new ads </div>');
// This set 'data-value' attribute to #new_data element
$("#new_data").data('value',newer);
$("#new_data").show();
}else{$("#new_data").hide();$("#new_data").data('value',0);}
}
}
});
}
这是我的html div
<div id="new_data" class="new_data">
</div>
我已经测试了一切正常,old_val
警告Object object
我究竟做错了什么 ?
感谢
如果我提醒old_val
,则会显示Object object
如果我提醒old_val.val()
其节目undefined old_val
答案 0 :(得分:1)
使用.attr()
代替.data()
.data()
将您的代码更改为
var old_val = $("#new_data").attr('data-value');
从对象中获取val。
注意:.attr()
是get和set,如果你想为这个obj设置一个val使用
$("#new_data").attr('data-value',newvalue);