好吧,假设我有很多 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 的样式。还有家长.mainDiv
div(我想隐藏的)都是完全相同的。
这样就剩下 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(使用前将#替换为@)