包装时如何将行传递到javascript函数?
我试图制作一个按钮,当单击时,它将从表中删除该行。问题是我无法使用“this”将自身的实例传递到函数中,因为它被包装在“a href”超链接中包装时如何将行传递到javascript函数?,javascript,html,Javascript,Html,我试图制作一个按钮,当单击时,它将从表中删除该行。问题是我无法使用“this”将自身的实例传递到函数中,因为它被包装在“a href”超链接中 <tr> <td> <a href="#" onclick="return removeContact(\''.$row['ContactMail'].'\', this);"> </td> </tr> 关于如何使其工作,有什么想
<tr>
<td>
<a href="#"
onclick="return removeContact(\''.$row['ContactMail'].'\', this);">
</td>
</tr>
关于如何使其工作,有什么想法吗?使用
this.parentNode
获取TD或this.parentNode.parentNode
获取行。使用this.parentNode
获取TD或this.parentNode.parentNode
获取行。或者您可以将一些Id放入TR标记中,并使用jQuery wrap-like调用它这:
$("#TrNNN").remove()
或者,您可以将一些Id放入TR标记中,并使用jQuery包装调用它,如下所示:
$("#TrNNN").remove()
一个很好的方法是使用JQuery:
$('a').click(function() {
this.parentNode.parentNode.remove()
});
一个很好的方法是使用JQuery:
$('a').click(function() {
this.parentNode.parentNode.remove()
});
从这里开始,如果我没有trid的
,您不需要id来操作元素,您只需要元素/对象this.parentNode.parentNode.style.visibility=false
。从这里开始,如果我没有tr id的,您不需要id来操作元素,您只需要元素/对象this.parentNode.parentNode.style.visibility=false
。这实际上使得当单击任何链接时,其父表行被删除。这就是我讨厌jQuery的原因。这不是所有问题的答案。您建议使用一个巨大的依赖项来解决单行问题。在使用jQuery处理复杂任务时,首先学习javascript。我并不是说它能解决所有问题。如果你看看他也在做什么,创建一个函数来删除记录,他基本上是在复制一个已经存在的JQuery函数。这个解决方案之所以对他有效,是因为你经常不处理记录。通常是多重的。这使他可以灵活地点击所有链接,或者如果他在选择器中获得了一个类,则可以磨练他拥有的那些链接。至于一般使用JQuery,我对Javascript非常熟悉。我只是认为重新创建已经存在的功能是浪费时间。实际上,您必须使用$(this.parentNode.parentNode).remove()代码>。普通的Ol'JS(tm)看起来像是this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)
的变体,不过希望对象正确地存储在变量中。@Paul:没错,但它不是包装元素的jQuery对象,所以您正在访问本机DOM属性/方法,它的remove()
不存在。这实际上使得当单击任何链接时,它的父表行被删除。这就是我讨厌jQuery的原因。这不是所有问题的答案。您建议使用一个巨大的依赖项来解决单行问题。在使用jQuery处理复杂任务时,首先学习javascript。我并不是说它能解决所有问题。如果你看看他也在做什么,创建一个函数来删除记录,他基本上是在复制一个已经存在的JQuery函数。这个解决方案之所以对他有效,是因为你经常不处理记录。通常是多重的。这使他可以灵活地点击所有链接,或者如果他在选择器中获得了一个类,则可以磨练他拥有的那些链接。至于一般使用JQuery,我对Javascript非常熟悉。我只是认为重新创建已经存在的功能是浪费时间。实际上,您必须使用$(this.parentNode.parentNode).remove()代码>。普通的Ol'JS(tm)看起来像是this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)
的变体,不过希望对象正确地存储在变量中。@Paul:没错,但它不是包装元素的jQuery对象,所以您正在访问本机DOM属性/方法,对于不存在的remove()
。关于您的功能,能否为removeContact
添加代码?我马上看到的一个错误是,您没有关闭a
标记,并且标记中没有任何内容。关于您的功能,您可以添加removeContact
的代码吗?我马上看到的一个错误是,您没有关闭a
标记,并且标记中没有任何内容。