Javascript 获取td父项和tr子项

Javascript 获取td父项和tr子项,javascript,html-table,Javascript,Html Table,我需要从单击按钮的第一个TD获取值“TEST1”。我尝试了Javascript,但不起作用。。这张照片给了我一个未定义的印象 <table style="width:100%"> <tr> <td>TEST1</td> <td>TEST2</td> <td><button class='x' type='butto

我需要从单击按钮的第一个TD获取值“TEST1”。我尝试了Javascript,但不起作用。。这张照片给了我一个未定义的印象

   <table style="width:100%">
        <tr>
            <td>TEST1</td>
            <td>TEST2</td>
            <td><button class='x' type='button' onclick='openindex()' >value='button'</button></td>
        </tr>   
    </table>

您正在调用
openindex()
,而没有显式上下文,因此
(在其内部)将是
窗口
,而不是元素

你可以通过它:

onclick="openindex.call(this)"
但是首先应该避免使用
onclick
属性,而是使用
jQuery().on
绑定函数

jQuery('button').on('click', openindex);

我想你只需要使用

$tds = $row.find("td:nth-child(1)").text();
而不是

$tds = $row.find("td:nth-child(1)").value;
您还应该使用var关键字来设置变量,这样它就不是一个全局变量,而且因为它只是返回一个字符串,所以不需要$so

 var tds = $row.find("td:nth-child(1)").text();
或者另一种方式就是

$('.x').click(function () {
    var $row = $(this).closest("tr");
    var tds = $row.find('td').first().text();
    alert(tds);
 })

请不要在Javascript中使用带有前导美元符号的PHP样式变量名。@NielsKeurentjes-这是一种常见的模式,表明变量包含jQuery实例。@niels看起来很像jQuery
$('.x').click(function () {
    var $row = $(this).closest("tr");
    var tds = $row.find('td').first().text();
    alert(tds);
 })