Javascript 如何限制最近()只遍历一行
我有一个表,如果我点击其中任何一行,它应该返回行“id”号。我使用了最近的()函数。但问题是最近的()选择它下面的所有“tr”。有没有办法限制函数只遍历一行数据 比如我的桌子Javascript 如何限制最近()只遍历一行,javascript,jquery,html,Javascript,Jquery,Html,我有一个表,如果我点击其中任何一行,它应该返回行“id”号。我使用了最近的()函数。但问题是最近的()选择它下面的所有“tr”。有没有办法限制函数只遍历一行数据 比如我的桌子 <tr id="0"> <td>data0</td> </tr> <tr id="1"> <td>data1</td> </tr> <tr id="2">
<tr id="0">
<td>data0</td>
</tr>
<tr id="1">
<td>data1</td>
</tr>
<tr id="2">
<td>data2</td>
</tr>
<tr id="3">
<td>data3</td>
</tr>
<tr id="4">
<td>data4</td>
</tr>
我尝试过使用next()或find(),但最终得到了未定义的错误。谢谢。通过单击
tr
,您不需要使用。closest()
来访问其id,只需使用.attr('id')
或.prop('id')
或简单地.id
来获取其id,如下所示:
$("#myTable tr").click(function(){
trid = $(this).attr('id');
alert(trid);
});
通过单击
tr
,您无需使用.nestest()
来访问其id,只需使用.attr('id')
或.prop('id')
或只需使用.id
即可获取其id,如下所示:
$("#myTable tr").click(function(){
trid = $(this).attr('id');
alert(trid);
});
$(文档)。在('click','td',function()上{
var result=$(this.closest('tr').attr('id');
警报(结果);
});代码>
数据0
数据1
数据2
数据3
数据4
$(文档)。在('click','td',function()上{
var result=$(this.closest('tr').attr('id');
警报(结果);
});代码>
数据0
数据1
数据2
数据3
数据4
我想你误解了.closest()
的概念。它向上遍历父对象,而.find()
向下遍历子对象/孙子对象
因此,根据您的代码,您似乎希望获得单击元素的id。然后你可以这样做:
trid = this.id;
与您的代码中一样,此
指的是您正在单击的tr
注:
刚才注意到您正在使用名为trid
的全局var
,因为它没有var
关键字。因此,如果您不小心使用了它,那么您可以在上述代码中添加类似的var trid
。我认为您误解了.closest()
的概念。它向上遍历父对象,而.find()
向下遍历子对象/孙子对象
因此,根据您的代码,您似乎希望获得单击元素的id。然后你可以这样做:
trid = this.id;
与您的代码中一样,此
指的是您正在单击的tr
注: 刚才注意到您正在使用名为
trid
的全局var
,因为它没有var
关键字。因此,如果您不小心使用了它,那么您可以在上面的代码中添加类似的var trid
。试试这个
试试这个
trid=$(this).closest('tr').attr('id')
更改为trid=this.id
。Jai有权。。您正在尝试搜索其他tr
元素的后代tr
元素,但找不到它并返回undefined
。我的英语的srytrid=$(this).closest('tr').attr('id')
更改为trid=this.id
。Jai有权。。您正在尝试搜索其他tr
元素的后代tr
元素,但找不到它并返回undefined
。sry对于我的英语呼和浩特,我确实尝试了代码,但仍然显示相同的代码。如果我有4行,单击第三行,则id显示正确,但警告在第三行和第四行显示两次。您好,很抱歉,请忽略上述注释。如果通过id更新表,它工作正常。感谢帮助。在jquery中,它也是正确的最好将事件绑定到身体上。因为它也适用于动态元素。例如:---$(“body).on('click','#myTable tr',function(){你好,Hoja,我确实尝试了代码,但结果仍然是一样的。如果我有4行,单击第三行,则id显示正确,但第三行和第四行的警报显示两次。你好,抱歉,请忽略上面的注释。如果通过id更新表,它工作正常。感谢帮助。在jquery中,最好绑定事件。因为它也将在动态元素上工作。例如:---$(“body”).on('click','#myTable tr',function(){