Чтобы не создавался пустой блок
function addCard(titleValue, linkValue) {
if(titleValue && linkValue) {
const inpTemplate = document.querySelector("#element").content;
const inpElement = inpTemplate.querySelector(".element").cloneNode(true);
Container.prepend(inpElement);
inpElement.querySelector(".element__title").textContent = titleValue;
inpElement.querySelector(".element__image").src = linkValue;
}
}
И при нажатии на element__image изображение и текст element передавались в #popup_photo
для этого есть event.target - стандартный параметр для функции, которая вызывается колбэком у addEventListener
Что то в этом роде, учитывая что все слушатели уже есть
const popImg= document.querySelector("#popup_image");
const Img= document.querySelector(".popup__image");
const Disc = document.querySelector(".popup__discription");
function openPopupImage(e) {
Img.src = e.target.src;
// для простоты примера, берем данные из атрибута alt, предполагается что он заполнен
Img.alt = e.target.alt:
Disc .textContent = e.target.alt;
openPopup(popImg); // передаём весь попап, для смены класса в будущем
};
function openPopup(popup) {
popup.classList.add("popup_opened");
}