2013-08-05 9 views
0

Прежде всего, я знаю, что мой вопрос, кажется, уже много раз задавался, но у меня возникает странная проблема.jQuery динамическое получение содержимого тега

Вот ситуация:

У меня есть целое число (динамически загружен) в этом теге:

<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. Я пробовал много вещей, чтобы получить текущее значение моего тега, но я не могу найти способ добиться успеха. Не могли бы вы помочь мне получить это целое число?

Сердечно, Роб.

+0

Ну, я использую AngularJs и Rails, довольно трудно сделать скрипка со всем, что у меня есть в моем приложении:/ – user2462805

+0

Нет ничего, что бы вызывало «изменение». Код jQuery в основном говорит ... когда элемент с '# my_id' изменен, сделайте это. Вы можете прикрепить событие щелчка или запустить его как функцию самоисполнения. – maxinacube

ответ

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 
    } 
}); 
+0

Это работает, человек, вы только что спасли мой вечер, огромное спасибо! (Отметьте его как можно скорее как можно скорее!) – user2462805

Смежные вопросы