Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   .each для динамически подгруженных элементов (https://javascript.ru/forum/events/71940-each-dlya-dinamicheski-podgruzhennykh-ehlementov.html)

mazahaler 23.12.2017 01:08

.each для динамически подгруженных элементов
 
Здравствуйте, мне нужно использовать функцию each для динамически подгруженного с помощью AJAX элемента.
Вот так не работает:
$('#ajaxsuccessdoc').on('each', '.doctext1', (function(i,elem) {

}));

Здесь #ajaxsuccessdoc - блок, который есть на странице изначально. .doctext1 - блок, который подгружается динамически.

Как я могу сделать то что мне нужно?

рони 23.12.2017 01:41

Цитата:

Сообщение от mazahaler
мне нужно использовать функцию each

так используйте как она описана в документации, причём тут on
и подгрузка?

mazahaler 23.12.2017 01:48

рони,
Ну, видите ли, если обращаться к блоку doctext1 напрямую
$('.doctext1').each(function(i,elem) {
//Code
}

то этот код выполнятся не будет.

рони 23.12.2017 01:48

Цитата:

Сообщение от mazahaler
то этот код выполнятся не будет.

почему?

рони 23.12.2017 01:54

mazahaler,
загрузили блоки '.doctext1' с помощью AJAX , затем сделали перебор блоков each, или у вас другая логика?

mazahaler 23.12.2017 01:58

рони,
извините меня, если я ошибаюсь, я новичок. Но по моему скромному опыту к подгруженным объектам нельзя обратиться напрямую.
Приведу пример:
есть блок <div class="div1">
и есть блок <div class="div2"> подгруженный с помощью AJAX
В таком случае
Это
$(function(){
    $('.div1').on('click', '.div2', function() {
    });
});

будет работать.
А вот это
$(function(){
    $("div2").click(function(){
  
    });
});

нет

рони 23.12.2017 02:04

mazahaler,
блок подгрузили --- поставили клик

или через on делегирование клика на родителя
причём здесь 'each' ?

mazahaler 23.12.2017 02:07

рони,
тоесть each будет работать в любом случае? Вне зависимости от того, подгружается блок или есть изначально в html?

рони 23.12.2017 02:10

mazahaler,
если в момент перебора блоки есть, то перебор блоков будет работать, нет блоков - не будет, потому что нечего перебирать.

рони 23.12.2017 02:12

mazahaler,
скорее всего вам нужен перебор в вашем AJAX. можно только гадать.


Часовой пояс GMT +3, время: 21:34.