删除父容器
我有一个包含表格单元格内的字段的表单。 在每行的最后一列,我有一个图像。 单击该图像时,我想删除父
onclick='delete_row(x, y)'
。 这显然不是一个好的解决方案,因为我按其位置删除了行。 我正在调用的函数有其他2个参数,因为它也删除了数据库中的行,所以第二个参数是要删除的数据库中的id。 所以基本上我需要一个删除父
并接受其他一些参数的函数。
编辑谢谢:谢谢大家,我尝试了几乎所有的解决方案,一切顺利。 我刚刚决定迈克的塞缪尔,这似乎是最简单的:)再次感谢
要传递当前节点的祖父节点,请使用this.parentNode.parentNode
:
删除最近的
怎么样? 您需要为代码中存在的选择器进行调整,但一般forms如下所示:
$('img').click(function(){ $(this).closest('tr').remove(); });
您可以轻松地使用HTML节点方法.removeChild()
并遍历节点的.parentNode
s 🙁 演示 ):
Remove row
this.parentNode.parentNode
将是
或
,而this.parentNode
是父容器
。
更新 : rjz提供了一个简洁的function( 演示 ):
window.removeClosestRow = function(node) { while(node = node.parentNode) { if (node.tagName.toUpperCase() == 'TR') { node.parentNode.removeChild(node); break; } } }
尝试类似的东西
onClick='MyDeleteFunc(this, var2, var3)';
将您点击的实际对象传递给javascript,您可以从那里获得几乎所有的引用。