Poniższy zapis jest zły z dwóch powodów:
document.getElementById("A").setAttribute("onclick",";");
1. Nie wpychaj do HTML zdarzeń, które mają być wykonane przez JS - w Twoim przypadku onclick wywołujący funkcje.
2. Metoda setAttribute() jest u Ciebie źle zapisana, konkretnie to jej drugi argument. No bo co tam robi średnik?
https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute
Jesli już chcesz wstawiać w ten sposób onclick, to zapisz to w ten sposób:
document.getElementById('A').setAttribute('onclick', 'kliknij(this.id)');
Pominę, że lepiej to zrobić od strony JS - o czym nie tylko ja Ci tu powiem (zerknij tutaj: https://kornel.ski/onclick). Istotne jest, że jako drugi argument podajesz nazwę funkcji, która ma się wykonać, a w jej nawiasach zamiast podawać 'A' (czy inne ID) - podaj this.id.
Natomiast prawidłowo powinieneś to zapisać w ten sposób:
HTML:
<div id="A"> <img src="znak_zapytania1.jpg" alt="opis_zdjecia" /> </div>
Po pierwsze, jak wspomniałem, usuwasz atrybut DIVa onclick.
Po drugie dopisz do img atrybut alt - w nim zamieść opis zdjęcia, który pokaże się np. gdy zdjęcie się nie wczyta.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
JavaScript:
document.addEventListener('click', function(ev)
{
console.log('ID kliknietego elementu: ', ev.target.parentNode.id);
}, false);
Zamiast w elemencie HTML umieszczać atrybut onclick, w JS do obiektu document (w nim zawiera się praktycznie cała zawartość pliku HTML strony) dodaj EventListener, który ustawiasz w "tryb" nasłuchiwania kliknięć. Gdy wystąpi klik na którymś z elementów na stronie, to wtedy możesz sobie poprzez właściwość zdarzenia (ev.target) sprawdzić, co je wywołało. W powyższym przykładzie w konsoli wypisane zostanie ID diva, w którym znajduje się dany obrazek - bo klikasz w obrazki, a one są zagnieżdżone w DIVach, dlatego musisz odwołać się do rodzica obrazka.
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener