【发布时间】:2022-01-23 20:04:57
【问题描述】:
我在一个共同的祖先中有两个嵌套类,例如:
<div class="css-18e3th9">
<div class="x1">
<div class="x2">
..
<div class="css-t0qh0m">
</div>
..
</div>
</div>
..
..
<div class="x1">
<div class="x2">
..
<div class="css-t0qh0m">
</div>
..
</div>
</div>
</div>
在共同祖先 (css-18e3th9) 和目标类之间有很多 div 和类:css-t0qh0m。我无法计算所有中间类,它们可能会随着时间动态变化。
我正在尝试以不同的方式设置目标类css-t0qh0m 的样式。如何独立选择每个?目前只有两个目标类,但未来可能会更多。
【问题讨论】:
-
通常你会为这两个/全部分配一个单独的
id="somethingunique",然后基于它的样式(#somethingunique { color: blue; }),但我得到的印象是你可能无法控制标记? -
@Raxi 正确 - 我必须在生成后调整标记。
-
据我所知,那时仅使用 CSS 是不可能的,因为没有什么可以锚定的,虽然它们确实有一个共同的祖先,但它们没有共享一个父对象,因此通常的
::nth-child-type 选择器在这里不是一个选项。但是,如果您愿意,可以使用 javascript 来完成。 -
@Raxi 感谢您的帮助。是否可以在整个文档中选择第 n 个
id?例如,如果他们都共享相同的 id,并且他们是唯一的两个divs这样做? -
id属性可能永远不会重复。有nth-last-of-type-selectors 之类的,但没有一个适合你在这里的场景,(例如,选择器没有与类组合,所以它会根据 all @ 987654332@s,不只是css-t0qh0m的)
标签: css css-selectors