Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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在按钮onClick中选择行_Javascript_Jquery_Html_Html Table - Fatal编程技术网

Javascript Jquery在按钮onClick中选择行

Javascript Jquery在按钮onClick中选择行,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我有一个表(表的id是county_table),有很多这样的行: <tr> <td><input class="text" type=text name=param1 maxlength=2 size=2></td> <td><select class="text" name=param2><option value=1>Live<option value=2>Test</select>

我有一个表(表的id是county_table),有很多这样的行:

<tr>
<td><input class="text" type=text name=param1 maxlength=2 size=2></td>
<td><select class="text" name=param2><option value=1>Live<option value=2>Test</select></td>
<td><input class="text" type=text name=param3 ></td>
<td><input class="text" type=text name=param4 ></td>
<td><input class="text" type=text name=param5 ></td>
<td><input class="text" type=text name=param6 ></td>
<td colspan=2><input class="button" type=submit value=New onclick="function_new($('#county_table  tr:eq(1)'))"></td>
</tr>

现场测试
onclick函数将管理表数据,并可能发送一个AJAX,因此我需要获取表的所有元素

这种解决方案的缺点是,如果我插入一个新行,整个表的行选择就会混乱,因此我想更改
tr:eq(1)
,类似
this.tr
或类似的内容,按钮是否知道他的祖先并获得给定的对象

我将非常感谢您的帮助。

您可以使用获取所单击按钮的父tr

var trOfButton = $(this).closest('tr');
最近的描述:对于集合中的每个元素,获取第一个 通过测试元素本身和 在DOM树中向上遍历其祖先

您可以使用获取被单击按钮的父tr

var trOfButton = $(this).closest('tr');
最近的描述:对于集合中的每个元素,获取第一个 通过测试元素本身和 在DOM树中向上遍历其祖先

您可以使用:

 - $(this).closest('tr');

.closest()将为您提供离按钮最近的tr,.parent()将返回父元素(td),并且它的父元素将再次返回该行,您可以使用:

 - $(this).closest('tr');


.closest()将为您提供离按钮最近的tr,.parent()将返回父元素(td),并且它的父元素将再次返回该行

我建议您使用
$(this).parent().parent()
,以获得更好的性能。


但是,如果您希望代码简单,那么您可以选择
$(this).recest('tr')
我建议您使用
$(this).parent().parent()
,以获得更好的性能。


但是,如果您希望代码简单,那么您可以选择
$(this).recest('tr')

谢谢!我真的不知道哪一个更好,因为每个答案都是完美的,感谢你们的工作!需要给第一个接受标记谢谢!我真的不知道哪一个更好,因为每个答案都是完美的,感谢你们的工作!需要给第一个接受标记谢谢。非常感谢你的回答!非常感谢。非常感谢你的回答!非常感谢。非常感谢你的回答!非常感谢。非常感谢你的回答!