当类('ks-chart-container')不在页面中时,我试图隐藏主div('product-block-list__item product-block-list__item--content size__chart')。
(No jQuery(如果可能)
下面是带有('ks-chart-container')的容器。
<div class="product-block-list__item product-block-list__item--content size__chart">
<div class="card">
<button class="card__collapsible-button" data-action="toggle-collapsible" aria-expanded="false" aria-controls="block-template--14697163096134__main-092edfe6-4684-4f51-970d-dfb11469ca43">
<span class="card__title heading h3">Size chart</span>
<span class="plus-button plus-button--large"></span>
</button>
<div id="block-template--14697163096134__main-092edfe6-4684-4f51-970d-dfb11469ca43" class="card__collapsible" style="height: 0px;">
<div class="card__collapsible-content">
<div class="rte text--pull">
<div id="KiwiSizingChart" class=" kiwiSizingLoaded">
<div class="ks-chart-container sizing-chart-container">
<div class="ks-chart-tab-container"></div>
</div>
<div class="ks-calculator-container sizing-calculator-container ks-calculator-inject hide"></div>
</div>
</div>
</div>
</div>
</div>
</div>
下面是没有('ks-chart-container')的容器。
<div class="product-block-list__item product-block-list__item--content size__chart">
<div class="card">
<button class="card__collapsible-button" data-action="toggle-collapsible" aria-expanded="false" aria-controls="block-template--14697163096134__main-092edfe6-4684-4f51-970d-dfb11469ca43">
<span class="card__title heading h3">Size chart</span>
<span class="plus-button plus-button--large"></span>
</button>
<div id="block-template--14697163096134__main-092edfe6-4684-4f51-970d-dfb11469ca43" class="card__collapsible" style="height: 0px;">
<div class="card__collapsible-content">
<div class="rte text--pull">
<div id="KiwiSizingChart" class=" kiwiSizingLoaded"></div>
</div>
</div>
</div>
</div>
</div>
我尝试使用:.ks-chart-container:empty .product-block-list__item.product-block-list__item--content.size__chart { display: none; }
但没有工作。(原谅我的编码,我是一个初学者)。
2条答案
按热度按时间a14dhokn1#
实际上,不可能使用CSS根据其子元素来设计元素的样式。
您可以使用一些普通的Javascript(而不是jQuery)来实现这一点,使用**.ks-chart-container类获取所有元素并设置CSS属性 display:none 在其父元素上使用.product-block-list__item**类:
如果你不想使用Javascript,根据你使用的编程语言,框架等,检查你的模板,如果**.ks-chart-container**存在,然后,显示代码或不取决于它。也许这是最好的选择...
unhi4e5o2#
您可以通过使用**querySelectorAll方法来实现此目的,该方法返回指定选择器的节点列表。
将querySelectorAll与
ks-chart-container
类一起使用来分配变量。可以通过查看querySelectorAll**返回的length
属性来确定页面是否包含指定的类名。如果页面不包含
ks-chart-container
类,它将返回length
值0。如果是这样,请隐藏主div。如果页面上已经存在
ks-chart-container
类,则length
值将大于0,并且您可以将主div保留在视图中。运行下面的代码片段来查看它的运行情况。我在代码中添加了注解来帮助您理解。
如果这对您有帮助,或者您有任何疑问,请告诉我。
第一个