首先,我知道我的问题似乎已被多次提出,但我面临一个奇怪的问题。
情况如下:
我在这个标签中有一个整数(动态加载):
<i id="my_id">{{here's my integer}}</i>
我想要做的是检索我的标签内的整数但是这个整数首先设置为0(当页面没有完全加载时“)然后2或3秒后,这个整数被设置为真正的价值。
所以我尝试过这样的事情:
var test = 0;
$('#my_id').change(function(){
test = $('#my_id').html();
});
console.log(test);
这总是让我回归0.我尝试了很多东西来获取我的标签的当前值,但我找不到成功的方法。能帮我拿这个整数吗?
亲切地,Rob。
答案 0 :(得分:3)
change
事件仅由input
元素触发。您可以尝试轮询值,如下所示:
var intervalId = setInterval(function() {
var value = parseInt($('#my_id').text(), 10);
if(value > 0) {
clearInterval(intervalId);
//... do stuff
}
}, 250); //poll every 250ms
另一种方法是在更改值时触发自定义事件:
//Somewhere in your code where you set the value in the i tag:
$('#my_id').text(value);
$('#my_id').trigger("valueChanged");
//Elsewhere in your code
$('#my_id').on("valueChanged", function() {
var value = parseInt($(this).text(), 10);
if(value > 0) {
//... do stuff
}
});