下面是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)
带回所有通知。。。而不是仅仅删除第二个孩子。因此,似乎所有通知都以某种方式组合在一个孩子身上。
最合适的回答,由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)