вместо closest
вы можете использовать parent
вот так ...
var id = $(this).parent().attr("id");
Обратите внимание, что вы можете использовать ключевое слово this
для ссылки на элемент, с которого началось событие.Как вы имеете, вы используете значение buttonID
в качестве селектора элемента, который будет иметь значение "popupDivClose"
, и без добавления #
в начале он не будет искать идентификатор, а скорее элемент теганазывается "popupDivClose".
Если вы хотите продолжать использовать buttonID, вы могли бы использовать эту строку кода, чтобы заставить его работать ...
var id = $("#" + buttonID).parent().attr("id");
Однако я бы предпочел написатьвсе событие, например, так ...
$(".popupCloseClass").click(function (event) {
event.preventDefault();
var id = $(this).parent().attr("id");
disablePopup(id);
});
обратите внимание на использование event.preventDefault();
, это гарантирует, что браузер не будет обрабатывать естественное действие для щелчка по ссылке (то есть навигации по странице) - хотя в Chromeпо крайней мере, вам все равно нужно указать значение href для навигации
Вот рабочий пример