jQuery:最近/父不工作

时间:2014-04-15 11:56:54

标签: javascript jquery parent css-selectors closest

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

由于某种原因,下面的内容不起作用,或者返回任何内容或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>

JS功能:

function copyOutput() {
    var output = $(this).closest('tr').find('td:eq(1)').text();
    alert(output);
}

非常感谢你提供任何帮助,蒂姆。

1 个答案:

答案 0 :(得分:2)

代码中的

this不是指它引用窗口对象的当前元素。

<强> HTML

更改

onclick="copyOutput()"

onclick="copyOutput(this)" //pass refer of the current element

<小时/> 的 JS

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