我想在父元素(Section)上设置一个类,当第二个子Div的innerHTML为空时。
例如:(这个部分应该得到一个“hide-section”的类来隐藏它)
<section class="ef-area">
<div class="child-1">
<div class="child-2">
</div>
</div>
</section>
这个不应该被隐藏,因为"child-2"不为空
<section class="ef-area">
<div class="child-1">
<div class="child-2">
<div class="child-3">
...//What Ever
</div>
</div>
</div>
</section>
我可以帮您翻译这段与IT技术相关的内容。当我遍历所有“ef-area”部分时,如何设置只有在第二个子元素(child-2)为空时才将这些部分设置为 display = none 。
我所做的是:
let efAreaDivs = document.querySelectorAll(".ef-area > div > div");
for (singleDiv of efAreaDivs) {
if (singleDiv.innerHTML == "") {
singleDiv.closest("section").classList.add("hide-section");
}
类名 "hide-section" 从未被设置。
我认为 JS 总是忽略它,因为存在非空的 singleDiv,或者我错了吗?
<div class="child-2"> </div>
不是空的 - 它包含了换行符和空格...<div class="child-2"></div>
是空的... 尝试使用if (singleDiv.innerHTML.trim() == "") {
- undefined.children()
,例如if ($(singleDiv).children().length === 0) $(singleDiv).addClass("hide-section")
- 这可能更有效率,但展示了这个概念。 - undefined