jQuery работает с элементами, которые были на странице на момент инициализации кода.
Если добавляются новые элементы - при помощи ajax'а или функций типа append() - то события не затрагивают их.
Как же работать с новыми созданными элементами DOM?
Оказывается для динамических элементов используется делегированная обработка событий.
Если кратко, то смысл делегирования в том, что обработчики "навешиваются" не на отсутствующие в dom элементы, а на существующий родительский объект.
Таким образом, при срабатывании соответствующего события, будет вызван данный обработчик для всех элементов, соответствующих селектору, даже если этих элементов не было во время объявлении обработчика (например при загрузке страницы).
пример можно подсмотреть тут
moxiemaks.ru/2017/06/25/sobytija-dlja-dinamicheski...