2016-01-11 5 views
0

У меня есть такой вызов в моей JS файл:Применить каждый после добавления

$('.selector').each(function() { 
    if ($(this).height() > 36) {} 
}); 

Он прекрасно работает при использовании стандартного запроса HTTP, но у меня есть и некоторые AJAX вызовы, которые загружаются дополнительные данные, используя append метод, например таким образом:

$('#something').append(result.data); 

В данных я получаю через AJAX у меня также есть .selector, но это $('.selector').each(function() { не выполняется для этих результатов. Как я могу сделать jQuery для запуска его также при добавленных результатах?

+0

Проверьте функцию связывания. Это поможет элементам, которые еще не присутствуют. – RST

+0

после добавления данных в DOM, jquery должен уметь читать элементы и управлять им. –

+0

См. Этот пример: https://jsfiddle.net/arshadmuhammed/q11Lb2q2/. Все работает нормально даже после добавления данных с классом, используемым в '.each' – arshad

ответ

1

Я сказал бы поставить это в функции:

function loopOver(){ 
    $('.selector').each(function() { 
     if ($(this).height() > 36) { 

     } 
    }); 
} 

теперь, когда вы делаете это только вызвать эту функцию:

+0

Это то, что я сделал непосредственно перед вашим ответом, вот что мне нужно :) –

0

Пользователь appendTo вместо добавления.

$(result.data).appendTo($('#something')).each(function() {...}}); 
+0

, селектор или элемент, который передается внутри' appendTo', должен физически присутствовать в DOM. в этом случае это не –

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