По основному вопросу:
jquery.page2page.ru/index.php5/Ajax-%D0%B7%D0%B0%D...
По побочному: "если вывожу через echo на страницу элементы то они как будто не видят js"
1.Это значит, что в тот момент, когда ваш JS скрипт попытался обратиться к элементу - этот элемент ещё не отразился на странице, как элемент DOM.
2.Или js скрипт не подключили.
3.Или js скрипт у вас срабатывает один раз при загрузке страницы, а вот после AJAX событий - не навешивает обработчики. - скорее всего третье.
// если нужен поиск кликабельных элементов, которые вы догружаете через AJAX
let custom_box = document.querySelector('body'); // запоминаем тэг body или другой контейнер, в рамках которого отслеживаем нажатие ЛКМ
custom_box.addEventListener('click', function(e) { // навешиваем прослушиватель события нажатия ЛКМ наш блок
if(e.target.getAttribute("class").search(/mybutton_class/)!=-1){
// e.target - нажатый объект
// .getAttribute("class") - получаем содержимое аттрибута class=""
// .search(/mybutton_class/) - ищем в содержимом аттрибута строку с искомым названием класса
// выполняем какие то инструкции с кнопкой
}
// если нужно отследить, догрузился ли конкретный элемент на страницу, чтобы с ним работать, то либо нужно использовать callback внутри вашей AJAX функции или таймер
// таймер
var timer=setInterval(my_function(),100); // с переменной timer связываем js таймер, выполняющий функцию my_function каждые 100мс
function my_function() {
if(document.querySelector('.ajax-photo')!=null){
// проверяем наличие на странице блока с классом ajax-photo
// ваши инструкции
clearInterval(timer); // этой командой отключаем таймер из переменной timer - можете не выключать, тогда инструкция будет постоянно выполняться
};
}