删除父容器

我有一个包含表格单元格内的字段的表单。 在每行的最后一列,我有一个图像。 单击该图像时,我想删除父

。 在我尝试通过生成一个函数作为参数传递行号之前: 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,您可以从那里获得几乎所有的引用。