【发布时间】:2012-04-12 21:39:31
【问题描述】:
我有一个这样的 div:
<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,然后我通过最接近的方法得到了它的父级(相应的 popupDiv)的 id。然后我调用 disablePopup。
但这不起作用。
我什至尝试使用var buttonID = $(buttonID).parent().attr("id"); 方法,但也没有用。
我也试过var id = this.id;
非常感谢任何帮助
谢谢
【问题讨论】:
-
buttonID将包含字符串"popupDivClose"。如果你将它传递给 jQuery,它将搜索所有带有 tag namepopupDivClose的元素。 ID 选择器以#开头。但由于event.target(甚至this)已经指向你想要的元素,只需使用$(event.target).closest(...)...或$(this).closest(...)...。我建议阅读更多 jQuery 教程...
标签: jquery asp.net html parent