parentsUntil
получает все родительские элементы, пока тот не соответствует селектору. Он не включает соответствующий элемент. Вы пытаетесь получить id
промежуточного div
, который явно не определен.
Вам нужно использовать closest
, который идет вверх по дереву DOM, пока не найдет элемент, соответствующий селектору, а затем вернет только этот элемент:
var abc = $(this).closest(".head-div").attr("id");
Редактировать: для дополнительной скорости, но меньшей гибкости в случае изменения разметки вы можете использовать свойство parentNode
:
var abc = this.parentNode.parentNode.id;