删除父容器
remove parent container
本文关键字:删除 更新时间:2023-09-26
我有一个表格,表格单元格中有字段。在每行的最后一列,我都有一个图像。单击该图像时,我希望删除父<tr>
。在我尝试通过生成一个函数来实现这一点之前,该函数将行号onclick='delete_row(x, y)'
作为参数传递。这显然不是一个好的解决方案,因为我是按行的位置删除的。我调用的函数还有2个参数,因为它也删除了数据库中的行,所以第二个参数是要删除的数据库中的id。因此,基本上我需要一个删除父<tr>
并接受其他参数的函数。
编辑感谢:谢谢大家,我尝试了几乎所有的解决方案,效果都很好。我刚刚决定选择Mike的Samuel,这似乎是最简单的:)再次感谢
要传递当前节点的祖父母,请使用this.parentNode.parentNode
:
<tr><td><img onclick="delete_row(this.parentNode.parentNode, ...)"></td></tr>
删除最近的<tr>
怎么样?您需要对您的代码中的选择器进行调整,但一般形式如下:
$('img').click(function(){
$(this).closest('tr').remove();
});
您可以很容易地使用HTML节点方法.removeChild()
并遍历节点的.parentNode
s:(demo):
<td onclick="this.parentNode.parentNode.removeChild(this.parentNode);">
Remove row
</td>
this.parentNode.parentNode
将是<table>
或<tbody>
,而this.parentNode
是父容器<tr>
。
更新:rjz提供了一个简洁的功能(演示):
window.removeClosestRow = function(node) {
while(node = node.parentNode) {
if (node.tagName.toUpperCase() == 'TR') {
node.parentNode.removeChild(node);
break;
}
}
}
尝试类似的东西
onClick='MyDeleteFunc(this, var2, var3)';
这将把你点击的实际对象传递给javascript,你可以从那里获得几乎所有的引用。
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 按顺序添加和删除类
- iframe正在添加标签,需要删除它们
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 删除CKEditor工具栏按钮,但不删除功能
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 正在删除node.js中已验证的网站
- 正在从页面中删除iframe
- 如何从 HTML 查询中删除项目
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 在不知道深度或父属性的情况下从对象中删除属性
- 解析JSON并从中删除对象会出错