我查看了重复的帖子,但似乎无法找到符合我特定要求的合适解决方案。
有没有办法可以定位第一个.future tr标签?我试图让整行成为红色背景而不影响其他行。
编辑:不重复,因为标记的答案不适用于此特定要求。
Edit2:我实际上并没有考虑使用jquery!谢谢! : - )
Edit3:肯定错过了Nick Craver对副本的回答。不过,谢谢你在这个帖子中清楚地提供答案。
答案 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”选择器。可惜。