我需要在div的子元素为空时隐藏div,特别是,如果子元素为空,我需要添加class .no-content。
我有这样的代码与空格:
<div class="ee-posts-list">
<div class="ee-post "> </div>
<div class="ee-post "> </div>
<div class="ee-post "> </div>
<div class="ee-post "> </div>
</div>
如果div没有文本,我还需要添加一个类:
<div class="ee-posts-list">
<div class="ee-post no-content"> </div>
<div class="ee-post no-content"> </div>
<div class="ee-post no-content"> </div>
<div class="ee-post no-content"> </div>
</div>
我有一个类似的问题需要解决,为此,我使用以下脚本:
<script>
document.querySelectorAll('.ee-post').forEach(post => {
if (!post.querySelector('.breakdance').hasChildNodes()) {
post.classList.add('no-content');
}
});
</script>
2条答案
按热度按时间pprl5pva1#
使用
.innerHTML.trim()
。这将得到去掉了周围空白的内容,所以对于示例中的空白div,它将为空。zujrkrfu2#
这段代码使用ee-post类迭代所有元素,并向任何没有内容的元素添加一个no-content类:
https://codepen.io/proudhon/pen/OJoNdQd