Ну так вы же querySelecorAll используете, а не querySelector, как в вопросе. Этот метод возвращает коллекцию элементов и по ней нужно итерировать, чтобы каждому элементу добавить обработчик.
Yustas Alexu, спасибо, что рассказали какие бывают реальные проекты :)
Хороших курсов мало, но обвинять неопытных людей в том, что они хотят получать информацию в понятном им виде — это странно.
На мой взгляд, главная проблема видеокурсов в том, что их можно начать потреблять как развлечение, а не как источник знаний. С книгой или докой это сложнее.
Вы привели функцию, но не привели код, её вызывающий. А ещё написали про echo в контексте javascript, что указывает на то, что в коде у вас что-то странное.
Ваш вопрос можно разделить на два:
1. Как выполнить код при нажатии на ссылку?
2. Как добавить в DOM изображение через javascript?
Оба они элементарны и ответы на них легко ищутся поисковиком.
Что значит «не по домену»? Редиректить вы можете куда угодно откуда угодно. Но никакой магии в этом нет — просто на первом сервере вы для каждого url описываете логику обработки в том или ином виде.