Jquery 使用CSS第n个子项选择单个表格单元格
下面是正在使用的示例表。最多可以有“n”行Jquery 使用CSS第n个子项选择单个表格单元格,jquery,html,css,css-selectors,Jquery,Html,Css,Css Selectors,下面是正在使用的示例表。最多可以有“n”行 <table border="true"> <tbody> <tr> <td> First Row- First Data </td> <td> First Row- Second Data </td> <td> First Row- Third Data </td>
<table border="true">
<tbody>
<tr>
<td>
First Row- First Data
</td>
<td>
First Row- Second Data
</td>
<td>
First Row- Third Data
</td>
<td>
<a href="SomeLink2">First Row- Fourth Data</a>
</td>
</tr>
<tr>
<td>
Second Row- First Data
</td>
<td>
Second Row- Second Data
</td>
<td>
<a href="SomeLink3">Second Row- Third Data</a>
</td>
<td>
<a href="SomeLink4">Second Row- Fourth Data</a>
</td>
</tr>
<tr>
<td>
Third Row- First Data
</td>
<td>
Third Row- Second Data
</td>
<td>
<a href="SomeLink">Third Row- Third Data</a>
</td>
<td>
<a href="SomeLink4">Third Row- Fourth Data</a>
</td>
</tr>
</tbody>
</table>
这将生成以下输出:
但是,我的目标是在上述情况下仅更改第一个超链接的背景色,它可能是第二行,但我需要将第三列中第n行的通用选择器更改为橙色。请注意,我必须使用css选择器选择元素。这是因为您没有选择特定的行元素。如果第三行的第三个单元格也是一个链接,则更为明显。您需要将JS更改为:
$(document).ready(function () {
$('table tbody tr:first-child td:nth-last-child(2) a:nth-child(1)').css('backgroundColor', 'orange');
});
使用:first child可以限制对表的第一个元素的更改。只需将调用附加到。首先,将调用附加到jQuery选择器:
$document.readyfunction{
$'table tbody tr td:nth-last-child2 a:nth-child1'。首先.css'backgroundColor','orange';
};
第一行-第一个数据
第一行-第二行数据
第二行-第一个数据
第二行-第二个数据
第三行-第一个数据
第三行-第二行数据
第三行-第三数据
仅使用第n个孩子。表tbody tr:nth-child2 td:nth-child3{背景色:黄色;}
表tbody tr:nth child td:nth-child3{background color:yellow;}如果只想影响第一行,请使用tr:first child。您是否正在尝试找到解决此问题的CSS或jQuery解决方案?你问题的最后一句话不清楚。@Quantastical我不确定OP是在问这个问题。听起来他们想要列的第一个超链接。如果列中的第一个超链接位于第二行怎么办?使用tr:first-child与之不匹配。@Sandy是否使用CSS或JavaScript?您会将此功能应用到样式表或JavaScript文件中吗?首先是最清晰和简洁的方法。使用选择器会变得一团糟。我不想使用jQuery助手方法。我只想让选择器来做这项工作。请注意,在提交我的答案后,问题被编辑以更改要求。@Sandy如果我的解决方案有任何问题,请告诉我。带有超链接的行实际上不是第一行。它可以是任何一行。我想让css选择器找到那一行。
$(document).ready(function () {
$('table tbody tr:first-child td:nth-last-child(2) a:nth-child(1)').css('backgroundColor', 'orange');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('table tbody tr:nth-child(1) td:nth-child(3) a:nth-child(1)').css('backgroundColor', 'orange');
});
</script>
<table border="true">
<tbody>
<tr>
<td>
First Row- First Data
</td>
<td>
First Row- Second Data
</td>
<td>
<a href="SomeLink">First Row- Third Data</a>
</td>
<td>
<a href="SomeLink2">First Row- Fourth Data</a>
</td>
</tr>
<tr>
<td>
Second Row- First Data
</td>
<td>
Second Row- Second Data
</td>
<td>
<a href="SomeLink3">Second Row- Third Data</a>
</td>
<td>
<a href="SomeLink4">Second Row- Fourth Data</a>
</td>
</tr>
<tr>
<td>
Third Row- First Data
</td>
<td>
Third Row- Second Data
</td>
<td>
Third Row- Third Data
</td>
<td>
<a href="SomeLink4">Third Row- Fourth Data</a>
</td>
</tr>
</tbody>
</table>