Javascript 如何获取已单击的表行';什么是尸体?

Javascript 如何获取已单击的表行';什么是尸体?,javascript,jquery,Javascript,Jquery,我有一张有几行的桌子。每行都有一个onclick事件,用于检查tbody元素的ID。这将存储在变量中,以便以后在函数中使用 现在我有一段jQuery: var parentTable=$(this.parentNode)[0].id 但是,这只获取整个表的ID,而不是tbody 指定tbody元素ID的最佳方法是什么?您可能希望将该信息存储在每行的数据tbody ID中,然后当用户单击该行时,事件对象将保存该信息。您可能希望将该信息存储在每行的数据tbody ID中,然后,当用户单击该行时,事件

我有一张有几行的桌子。每行都有一个
onclick
事件,用于检查
tbody
元素的ID。这将存储在变量中,以便以后在函数中使用

现在我有一段jQuery:

var parentTable=$(this.parentNode)[0].id

但是,这只获取整个表的ID,而不是
tbody


指定
tbody
元素ID的最佳方法是什么?

您可能希望将该信息存储在每行的数据tbody ID中,然后当用户单击该行时,事件对象将保存该信息。

您可能希望将该信息存储在每行的数据tbody ID中,然后,当用户单击该行时,事件对象将保存该信息。

首先,您对jQuery的使用在那里被浪费了。它会这样写:

var parentTable = this.parentNode.id;
就获取
tbody
id而言,假设
this
实际上是行,那么代码应该这样做


如果你真的得到了这张桌子,那将是非常不寻常的。不创建
tbody
的唯一方法是,如果您使用DOM创建方法手动创建表,并将其忽略。

首先,您对jQuery的使用在这里被浪费了。它会这样写:

var parentTable = this.parentNode.id;
就获取
tbody
id而言,假设
this
实际上是行,那么代码应该这样做


如果你真的得到了这张桌子,那将是非常不寻常的。如果您使用DOM创建方法手动创建表,并将其忽略,则不会创建
tbody

您可以使用以下函数

var tobody = parentTable.children('tbody')

您可以使用以下函数

var tobody = parentTable.children('tbody')

您可以使用以下函数

var tbody = $(this).parents("tbody");
var id = tbody.attr("id");

您可以使用以下函数

var tbody = $(this).parents("tbody");
var id = tbody.attr("id");

你能给我们看一下你的html结构吗?你能给我们看一下你的html结构吗?这是正确的,OP在使用这些代码时不应该有任何问题。我用这个例子制作了一个JSFIDLE:它起作用了——我发现我的
this
不是行,而是
tbody
!啊,这更有道理。很高兴你弄明白了。这是正确的,OP使用该代码应该不会有任何问题。我用这个例子制作了一个JSFIDLE:它起作用了——我发现我的
this
不是行,而是
tbody
!啊,这更有道理。很高兴你弄明白了。