Изменение
function showDescription(XMLObj){
до
function showDescription(XMLObj, target){
Затем измените
descParLi[i].addEventListener('click', function(event) {loadAsync('/description/', showDescription)}, false);
до
descParLi[i].addEventListener('click', function(ev) {loadAsync('/description/', function(request) { showDescription(request, ev.target); })}, false);
А затем используйте target
внутри showDescription
.
Это изменение фиксирует событие в момент нажатия кнопки в замыкании, которое затем используется в обратном вызове. Другими словами, обратите внимание, как параметр ev
используется функцией обратного вызова - значение ev
сохраняется при вызове обратного вызова, и его свойство target
(нужный вам элемент DOM) затем передается в showDescription
.