jQuery动态获取标签的内容

时间:2013-08-05 16:14:17

标签: javascript jquery angularjs

首先,我知道我的问题似乎已被多次提出,但我面临一个奇怪的问题。

情况如下:

我在这个标签中有一个整数(动态加载):

<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。

1 个答案:

答案 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
    }
});