Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 jQuery:最近的/父项不工作_Javascript_Jquery_Parent_Css Selectors_Closest - Fatal编程技术网

Javascript jQuery:最近的/父项不工作

Javascript jQuery:最近的/父项不工作,javascript,jquery,parent,css-selectors,closest,Javascript,Jquery,Parent,Css Selectors,Closest,我有一个基本的HTML表格,每行有一个按钮。 通过点击按钮,我想提醒同一TR中第二个TD的文本 由于某些原因,下面的命令不起作用,或者返回nothing或null(取决于我是尝试.text()还是.html())。父级而不是最近的也失败了。 有人能告诉我我做错了什么吗? (我的表格ID为“myTable”,如果需要,所有TR都在一个TBODY中。) 示例TR: <tr><td style="width:30%"><strong>Row 1:</stron

我有一个基本的HTML表格,每行有一个按钮。 通过点击按钮,我想提醒同一TR中第二个TD的文本

由于某些原因,下面的命令不起作用,或者返回nothing或null(取决于我是尝试.text()还是.html())。父级而不是最近的也失败了。 有人能告诉我我做错了什么吗? (我的表格ID为“myTable”,如果需要,所有TR都在一个TBODY中。)

示例TR:

<tr><td style="width:30%"><strong>Row 1:</strong></td><td id="fldRow1" style="width:60%">test text</td><td><button type="button" id="copyRow1" onclick="copyOutput()">Copy</button></td></tr>
function copyOutput() {
    var output = $(this).closest('tr').find('td:eq(1)').text();
    alert(output);
}
非常感谢你在这方面的帮助,蒂姆

在您的代码中,不是指当前元素,而是指窗口对象

HTML

改变

onclick="copyOutput()"


js

function copyOutput(el) { //el get current element clicked
    var output = $(el).closest('tr').find('td:eq(1)').text();
    alert(output);
}

太好了,这很有效!谢谢你的快速帮助。将尽快接受。@user2571510很高兴它有帮助。既然您使用的是jQuery,为什么要使用内联事件?谢谢。我是否可以仅使用JavaScript实现这一点?在这种情况下,我确实需要内联事件。jQuery是JavaScript,所以您已经只使用JavaScript了。不,在这种情况下,您不需要内联事件。
function copyOutput(el) { //el get current element clicked
    var output = $(el).closest('tr').find('td:eq(1)').text();
    alert(output);
}