在表格中定位第一个TR类

时间:2015-10-02 10:55:40

标签: jquery html css css-selectors

我查看了重复的帖子,但似乎无法找到符合我特定要求的合适解决方案。

有没有办法可以定位第一个.future tr标签?我试图让整行成为红色背景而不影响其他行。enter image description here

编辑:不重复,因为标记的答案不适用于此特定要求。

Edit2:我实际上并没有考虑使用jquery!谢谢! : - )

Edit3:肯定错过了Nick Craver对副本的回答。不过,谢谢你在这个帖子中清楚地提供答案。

4 个答案:

答案 0 :(得分:1)

你真的不需要像这样的东西。如果你想要一个只有CSS的解决方案,请使用:

tr.future:first-child, tr:not(.future) + tr.future {
    ...
}

在这里小提琴:http://jsfiddle.net/andyfurniss/hm6uy4fw/1/

:first-child规则只是为了掩盖自己,以防第一行是未来的行,因为它不会有前一行。

编辑:更新了小提琴,因为我只把这个类放在一个没有正确证明解决方案有效性的元素上。

答案 1 :(得分:0)

您可以使用第一个选择器选择带有'future'类的tr。

$("table tr.future:first")

在你的情况下它可以是

$("#fixtures tr.future:first")

答案 2 :(得分:0)

试试这个

 $("#fixtures tbody tr.future:first td").css("background-color","red");

答案 3 :(得分:0)

纯CSS的方法是使用子选择器和通用兄弟组合器的组合。

tbody > .future {
    background: red;
}

tbody > .future ~ .future {
    background: none;
}

JSFiddle:https://jsfiddle.net/x2kLko7L/

这样,您可以使用“future”类来定位所有元素,应用红色背景,然后从具有“future”类的所有元素中再次删除背景,这些元素前面还有一个也具有“future”类的元素。

这只留下第一个带有红色背景的元素,因为它是唯一一个没有相同类元素的元素。

这是一个解决方法,它真的应该这样“:first-of-type”适用于类,或者我们得到一个“:first-of-class”选择器。可惜。