获取某个元素的父 td 直接位于具有特定 class 的 tr 之下
Get an element's parent td that is directly below a tr with a certain class
我在网页中有一个复杂的 table 结构,如下所示。 tables 可能有更深的嵌套。
我正在尝试找到一个 jQuery 选择器来找到最接近给定输入元素的 td,并增加了此 td 的 tr 应该具有 [=37] 的 class 的约束=].
问题:如何在 jQuery 的帮助下获得我在上一段中描述的单个“td”?我尝试了一些代码但没有成功。
例如,如果给定的输入元素是 firstname
,那么紧邻该元素的 td
将不是我正在寻找的元素,而是带有注释 [=15= 的 td ] 是正确的 td.
我曾尝试跟随选择器获取此 td 但它返回 6 td DOM 元素,而我只期望一个。您可以在 url 中查看此代码的运行情况:demo for this scenario
我试过的代码,但它不起作用
$('#firstName').parents("tr.class1").find("td");
Html 嵌套 tables
<table>
<tr class='class1'>
<td>
<!--some content here-->
</td>
<td><!--this is the td I am trying to get-->
<table>
<tr>
<td>
First Name
</td>
<td>
<input type='text' id='firstname'>
</td>
</tr>
<tr>
<td>
Last Name
</td>
<td>
<input type='text' id='lastname'>
</td>
</tr>
</table>
</td>
</tr>
</table>
要实现您的要求,您需要将 closest()
与直接子选择器 >
一起使用,以获得父 td
。试试这个:
var $td = $('#firstname').closest('.class1 > td');
我在网页中有一个复杂的 table 结构,如下所示。 tables 可能有更深的嵌套。
我正在尝试找到一个 jQuery 选择器来找到最接近给定输入元素的 td,并增加了此 td 的 tr 应该具有 [=37] 的 class 的约束=].
问题:如何在 jQuery 的帮助下获得我在上一段中描述的单个“td”?我尝试了一些代码但没有成功。
例如,如果给定的输入元素是 firstname
,那么紧邻该元素的 td
将不是我正在寻找的元素,而是带有注释 [=15= 的 td ] 是正确的 td.
我曾尝试跟随选择器获取此 td 但它返回 6 td DOM 元素,而我只期望一个。您可以在 url 中查看此代码的运行情况:demo for this scenario
我试过的代码,但它不起作用
$('#firstName').parents("tr.class1").find("td");
Html 嵌套 tables
<table>
<tr class='class1'>
<td>
<!--some content here-->
</td>
<td><!--this is the td I am trying to get-->
<table>
<tr>
<td>
First Name
</td>
<td>
<input type='text' id='firstname'>
</td>
</tr>
<tr>
<td>
Last Name
</td>
<td>
<input type='text' id='lastname'>
</td>
</tr>
</table>
</td>
</tr>
</table>
要实现您的要求,您需要将 closest()
与直接子选择器 >
一起使用,以获得父 td
。试试这个:
var $td = $('#firstname').closest('.class1 > td');