首先,我知道我的问题似乎已经被问过很多次了,但我面临着一个奇怪的问题。
情况是这样的:
我在此标签中有一个整数(动态加载):
<i id="my_id">{{here's my integer}}</i>
我想要做的是检索标签内的整数,但该整数首先设置为 0(当页面未完全加载时),然后 2 或 3 秒后,该整数设置为其真正的值(value)。
所以我尝试了这样的事情:
var test = 0;
$('#my_id').change(function(){
test = $('#my_id').html();
});
console.log(test);
这总是返回 0。我尝试了很多方法来获取标签的当前值,但找不到成功的方法。你能帮我得到这个整数吗?
诚挚的,罗布。
最佳答案
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
}
});
关于javascript - jQuery动态获取标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062866/