尝试禁用除带有CSS的WooCommerce结账页面上的一个通知外的所有通知

时间:2018-05-16 作者:ewizard

下面是html的结构,我正在尝试display: none 当用户未填写woocommerce 签出页(的子项woocommerce-NoticeGroup woocommerce-NoticeGroup-checkout).

<div class="woocommerce-NoticeGroup woocommerce-NoticeGroup-checkout">
<!---->
    <div class="woocommerce-error alert alert_error" role="alert">
        <div class="alert_wrapper">Please fill in the required information</div>
        <a class="close" href="#"><i class="icon-cancel"></i></a>
    </div>
<!---->
    <div class="woocommerce-error alert alert_error" role="alert">
        <div class="alert_wrapper">Please fill in the required information</div>
        <a class="close" href="#"><i class="icon-cancel"></i></a>
    </div>
<!---->
    <div class="woocommerce-error alert alert_error" role="alert">
        <div class="alert_wrapper">Please fill in the required information</div>
        <a class="close" href="#"><i class="icon-cancel"></i></a>
    </div>
<!---->
</div>
我试过了:not(:first-child), :not(:first-of-type), :nth-child(n+1) 还有其他一些。可能有助于解决这个问题的是nth-child(1) 所有通知都会消失,而不是第一个通知消失,然后nth-child(2) 带回所有通知。。。而不是仅仅删除第二个孩子。因此,似乎所有通知都以某种方式组合在一个孩子身上。

1 个回复
最合适的回答,由SO网友:ewizard 整理而成

尽管我使用的css选择器与HTML结构不匹配,但当woocommerce网站的签出页面上没有填写多个字段时,这只允许通过一个通知:

#Content > div > div > div > div.section.mcb-section > div > div > div > div > div > div > form.checkout.woocommerce-checkout > div.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout:nth-child(1) > div:nth-child(n+2) {
  display: none;
}
不知道为什么> div:nth-child(n+2), 我只需要第一个nth-child 未来nth-child(n+1)

结束