css :last-child

<div>
    <p></p>
    <p></p>
    <p style="display:none"></p>
</div>

css样式
p:last-child {
    color: red;
}

怎么才能让显出出来的最后一个p元素变成红色呢

阅读 2.5k
2 个回答

用jQuery可以解决
直接选中最后一个p元素,看是不是隐藏的,如果是隐藏的,那么它前一个元素设置样式,否则就为这个last元素设置样式

<body>
    <div>
        <p>1</p>
        <p>2</p>
        <p style="display:none">3</p>
    </div>
</body>
<script src="../echarts/jquery-3.1.0.min.js"></script>
<script>
    if($("p:last").is(":hidden")){
        $("p:last").prev().css("color","red")
    }else {
        $("p:last").css("color","red")
    }
</script>

试了一下

p:not([style="display:block"]):last-child

不过没效果

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏