Html 选择没有指定类的最后一个子级

Html 选择没有指定类的最后一个子级,html,css,css-selectors,Html,Css,Css Selectors,我有这个css选择器 .buttons:last-child::not(a.hide) <div class="buttons"> <a href="#tab1">1</a> <a href="#tab2">3</a> <a href="#tab3" class="hide">3</a> </div> 。按钮:最后一个子项::非(a.hide) 我想选择最后一个没有“.hide”类的子级 但它不

我有这个css选择器

.buttons:last-child::not(a.hide)

<div class="buttons">
<a href="#tab1">1</a>
<a href="#tab2">3</a>
<a href="#tab3" class="hide">3</a>
</div>
。按钮:最后一个子项::非(a.hide)
我想选择最后一个没有“.hide”类的子级

但它不起作用。怎么了?

地段错了:

  • not
    只接受简单的选择器,因此可以是元素或类。例如,
    not(.hide)
    应该完成这项工作

  • not(.hide)
    不是伪元素,而是伪类。因此,它前面应该有一个冒号,而不是一个双冒号

  • .button:last child
    不选择
    的最后一个子元素。buttons
    ,它选择类
    的任何元素。buttons
    是其父元素的最后一个子元素。要在按钮中选择最后一个
    a
    ,请使用
    。按钮>a:last child

  • 组合伪选择器需要候选对象将它们全部匹配。因此
    :last child:not(.hide)
    将选择既是最后一个子元素又不属于类
    hide
    的元素。你一个也没有。更改css或html中的类名,您将匹配最后一个元素


事实上,我不确定你能用纯css实现你想要的。

好的,谢谢你的解释。我想,我必须在这个案例中使用javascript。