【问题标题】:Finding nth-child of siblings via jQuery通过 jQuery 查找兄弟姐妹的第 n 个孩子
【发布时间】:2010-03-15 22:05:00
【问题描述】:

假设我有两个如下所示的表:

TH   TH   TH   TH  
TD   TD   TD   TD  
TD   TD   TD   TD  

TH   TH   TH   TH  
TH   TD   TD   TD  
TH   TD   TD   TD  

我想选择每个中的第 3 列。

一开始我是这样使用 nth-child 的:

$('table tr td:nth-child(3)')

但这行不通,因为第三个 TD 在每个表的不同列中。

我在伪代码中需要的是'在每一行中获取第三个 TD TH'。

我认为我需要使用 $.siblings 但不完全确定。

【问题讨论】:

    标签: jquery css-selectors


    【解决方案1】:

    这对我有用:

    $('table tr :nth-child(3)').css('background-color', 'red');
    

    它将第三列的背景颜色设置为“红色”(适用于两个表格)。

    注意tr:nth-child(3)之间有一个空格,:nth-child(3)前面没有td

    您可以check out this site获取示例代码并进行实验。

    【讨论】:

    • 啊!空间。 'tr:nth-child()' 和 'tr:nth-child()' 之间的巨大区别!这有帮助!
    【解决方案2】:

    你需要写$('table tr *:nth-child(3)')

    :nth-child 选择器选择其父元素的第 nth 个子元素,无论选择器匹配多少同级元素。

    您(错误地)描述了:eq 选择器。

    【讨论】:

    • 实际上,他在描述一些根本不存在作为选择器的东西。 table tr td:eq(3) 将返回 tr 内表中的第四个(eq 的基于 0 的索引)td,而不是其他。
    • tr:nth-child(3) 返回第三个 TR。我需要归还 TR 的第三个孩子。但那个孩子可能是 TD 或 TH
    • @DA:那你需要写tr *:nth-child(3)
    • 谢谢,SLaks!空格/星号)是关键。
    猜你喜欢
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多