javascript - 通过单击子元素获取父级 div id

标签 javascript jquery

我想要做的是在单击按钮后按 ID 删除父级 div,以避免关闭具有同一类的所有 div。在我的实际代码中,用户可以在单击按钮时将多个 div 附加到屏幕,并且每个 div 都分配有自己的 ID。每个顶部都有一个 boostrap 按钮,该按钮应该仅关闭父 div,而不必创建 12 个单独的函数(用户的 div 放置限制)。

HTML

<div class='some classes' id='box1'>
<span class='btn btn-primary'>Close this div</span>
</div>
<div class='some classes' id='box2'>
<span class='btn btn-primary'>Close this div</span>
</div>

CSS

#box {
  width:200px;
  height:200px;
  background:black;
}

JS

$(document).ready(function(){
  $('.btn').on('click',function(){
    var getParentID = $('.btn').parent().attr('id');
    $(getParentID).remove();
});
});

这基本上就是我为了让它发挥作用而所做的全部工作。非常感谢任何帮助!

最佳答案

使用 $(this) 而不是 $('.btn') 因为您想要定位特定元素

var getParentID = $(this).parent().attr('id'); 一旦 id 可用,请使用 jquery id 选择器来定位元素

$(document).ready(function() {
  $('.btn').on('click', function() {
    var getParentID = $(this).parent().attr('id');
    $("#" + getParentID).remove();
  });
});
#box {
  width: 200px;
  height: 200px;
  background: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='some classes' id='box1'>
  <span class='btn btn-primary'>Close this div</span>
</div>
<div class='some classes' id='box2'>
  <span class='btn btn-primary'>Close this div</span>
</div>

注意:答案特定于您的问题。或者,即使没有获取其 id,也可以删除父 div

关于javascript - 通过单击子元素获取父级 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44246103/

相关文章:

javascript - 如何从JS中的日期选择器获取日期值(MM-DD-YYYY)

JavaScript OPTIONS 对象不会改变

javascript - 为什么我的 javascript 无法看到选择了哪个 html 选项

javascript - 使用 d3.js 迭代多维数组

javascript - 如何为 cookie 过期日期设置倒计时器?

javascript - jQuery On 事件 Off 自动解除绑定(bind)

javascript - 在 jQuery 的 DataTables-Table 插件中发布数据

Javascript 等待模态结果

JavaScript 对象包含继承属性

jquery - 带有 JQuery 问题的页脚