选择 TD 元素,这些父 TR 中的元素除外

Posted

技术标签:

【中文标题】选择 TD 元素,这些父 TR 中的元素除外【英文标题】:Select TD elements, except the ones in these parent TR 【发布时间】:2012-08-30 07:23:51 【问题描述】:

我希望它忽略具有 .ignore 类的父类的 <td>。这是我现在所拥有的,但它对每个<td> 进行了样式设置。

<script>
$('td:nth-child(2)').css('background-color', 'rgb(255, 248, 231)');
</script>

<table>
    <tr>
        <td> </td>
        <td>select</td>
        <td> </td>
    </tr>
    <tr class="ignore">
        <td> </td>
        <td>don't select</td>
        <td> </td>
    </tr>
    <tr>
        <td> </td>
        <td>select</td>
        <td> </td>
    </tr>
</table>

【问题讨论】:

【参考方案1】:
$('tr:not(.ignore) td').css('background-color', 'rgb(255, 248, 231)');

DEMO

【讨论】:

【参考方案2】:
$('td:nth-child(2)').not('tr.ignore td').css('background-color', 'rgb(255, 248, 231)');​

http://jsfiddle.net/3TrxJ/

【讨论】:

【参考方案3】:

你可以这样做:

$('td:nth-child(2)').each(function()
    if ($(this).closest('tr').hasClass('ignore') === false)
        $(this).css('background-color', 'rgb(255, 248, 231)');
    
);

Demo Here

【讨论】:

以上是关于选择 TD 元素,这些父 TR 中的元素除外的主要内容,如果未能解决你的问题,请参考以下文章

选择父元素的下一个元素

在table中tr和td 有啥区别

jQuery ui可排序如何更改表结构中的上一个/下一个项目位置

jq点击元素删除父级

如果没有元素如何选择

使用flexbox垂直对齐td元素中的元素[重复]