Jquery 使用CSS第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>

下面是正在使用的示例表。最多可以有“n”行

<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>