我需要从第一个TD点击按钮获得值“TEST1”。我尝试了Javascript但它不起作用..打印给了我undefined。
<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>
这是我的Javascript函数,我无法弄清楚我做错了什么,因为我找到了最接近的Tr但子属性不起作用
function openindex(){
var $row = $(this).closest("tr");
$tds = $row.find("td:nth-child(1)").value;
alert($tds);
}
答案 0 :(得分:1)
您在没有显式上下文的情况下调用openindex()
,因此this
(在其中)将是window
而不是元素。
你可以通过它:
onclick="openindex.call(this)"
但您应该首先避免使用onclick
属性,而是将您的函数与jQuery().on
绑定。
jQuery('button').on('click', openindex);
答案 1 :(得分:0)
我认为你只需要使用
$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);
})