I have a div like this:
<div id="popupDiv1" class="popupDivClass">
<a id="popupDivClose" class="popupCloseClass">x</a>
</div>
当我点击'x'时(我想运行一个名为
disablePopup(id);
的jquery函数,其中id是对应popupDiv的id(我有很多popupDiv,每个都有自己的X按钮)。为了这样做,我实现了以下内容。
$(".popupCloseClass").click(function (event) {
var buttonID = $(event.target).attr("id");
var id = $( buttonID).closest("div").attr("id");
disablePopup(id);
});
基本上,我获取了点击的popupCloseClass的id,然后通过closest方法获取其父级(相应的popupDiv)的id,然后调用disablePopup。
但这不起作用。
我甚至尝试使用
var buttonID = $(buttonID).parent().attr("id");
方法,但也没有起作用。我还尝试了
var id = this.id;
非常感谢任何帮助。谢谢
buttonID
将包含字符串"popupDivClose"
。如果您将其传递给jQuery,它将搜索所有标记名称为popupDivClose
的元素。ID选择器以#
开头。但是,由于event.target
(甚至是this
)已经指向您想要的元素,因此只需使用$(event.target).closest(...)...
或$(this).closest(...)...
即可。我建议阅读更多jQuery教程... - Felix Kling