javascript - 单击时从 DOM 中删除元素的可移植函数?

标签 javascript jquery dom popup

我有一些 jQuery“弹出窗口”,我知道您可以在运行时将 onClick 事件应用于对象,如下所示:

$('.popup').on('click', 'img.close', function() {
    // Remove the popup
});

但是,我不确定如何根据点击来区分哪个弹出窗口正在关闭,而不是全部关闭。我是否必须将 this 关键字作为参数传递?

基本上添加到文档中的所有弹出窗口都包含以下样板代码:

<div class="popup">
    <div class="toolbar">
        Popup Title Here
        <img src="close.png" class="close"></div>
    </div>
    <p class="text">Popup content/data here<p>
</div>

我想将标记保留为这样,并控制 onClick 事件以及在运行时加载的函数内关闭哪个弹出窗口。这可能吗?

目前,我正在为每个弹出窗口分配一个ID,并根据弹出窗口的ID删除它们,但这种方法似乎多余,我希望有一种更干净的方法来处理这个问题。

最佳答案

您可以使用.closest()找出被单击的 close 元素的父 .popup 元素

$('.popup').on('click', 'img.close', function() {
    $(this).closest('.popup').remove(); //or .hide() if you just want to hide the popup
});

关于javascript - 单击时从 DOM 中删除元素的可移植函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18329793/

相关文章:

javascript - 无法清除 Gatsby 静态站点缓存

javascript - 如何在 javascript 中对具有 csrf 保护的 django 框架进行正确的 ajax 调用?

javascript - Selectize.js 委托(delegate)事件选项不起作用

javascript - 使用 Firefox 解析 HTML

jquery - 获取html返回文本

Javascript - document.cookie 的安全性

javascript - 清除 Nightmare.js (Electron) 中的缓存

javascript - 重新发送带有链接的 AJAX 请求?

jquery - 移动版网站中的链接被禁用

javascript - 使用 createDocumentFragment 插入嵌套的 div 结构