如果内部div具有特定类,如何使用javascript隐藏父div

2023-11-23

好吧,假设我有很多 div。有些 div 的孩子有一个班级,其他 div 的孩子有不同的班级。

我只想隐藏具有某个类别的孩子的 div。

例如,

<div class="mainDiv">
    <div class="kulkul">
        <div class="childA">
        </div>
    </div>
</div>

<div class="mainDiv">
    <div class="lalala">
        <div class="childB">
        </div>
    </div>
</div>

<div class="mainDiv">
    <div class="kulkul">
        <div class="childA">
        </div>
    </div>
</div>

<div class="mainDiv">
    <div class="lalala">
        <div class="childA">
        </div>
    </div>
</div>

<div class="mainDiv">
    <div class="kulkul">
        <div class="childB">
        </div>
    </div>
</div>

<div class="mainDiv">
    <div class="lalala">
        <div class="childA">
        </div>
    </div>
</div>

现在上面,假设我只想隐藏具有该类的子 div 的父 div.childB

据我所知,这不能用 CSS 来完成(无论如何 CSS3),因为 CSS 不允许你设置父 div 的样式,只能设置子 div 的样式。还有家长.mainDivdiv(我想隐藏的)都是完全相同的。

这样就剩下 javascript 了。

使用上面的例子,我怎样才能隐藏所有.mainDiv包含该类的子 div 的 div.childB?


基于其直接后代隐藏父元素

//Update the **sample-element-to-hide** with whatever you wanted to use as a child class with the parent element you wanted to hide e.g., 'childB'
var elementToHideList = document.getElementsByClassName("sample-element-to-hide");
for (var i = elementToHideList.length; i--;)
    elementToHideList[i].parentNode.style.display = "none";

基于其子元素隐藏父元素。

//Solution for the OP
//Update the **childB** with whatever you wanted to use as a child class with the parent element you wanted to hide.
//Note that this would only works if the parent element has a **className** mainDiv. You can change mainDiv with your own parent className.

$('.classB').closest('.mainDiv').hide();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果内部div具有特定类,如何使用javascript隐藏父div 的相关文章

随机推荐