Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包装时如何将行传递到javascript函数?_Javascript_Html - Fatal编程技术网

包装时如何将行传递到javascript函数?

包装时如何将行传递到javascript函数?,javascript,html,Javascript,Html,我试图制作一个按钮,当单击时,它将从表中删除该行。问题是我无法使用“this”将自身的实例传递到函数中,因为它被包装在“a href”超链接中 <tr> <td> <a href="#" onclick="return removeContact(\''.$row['ContactMail'].'\', this);"> </td> </tr> 关于如何使其工作,有什么想

我试图制作一个按钮,当单击时,它将从表中删除该行。问题是我无法使用“this”将自身的实例传递到函数中,因为它被包装在“a href”超链接中

<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
标记,并且标记中没有任何内容。