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

前端之家收集整理的这篇文章主要介绍了如果内部div具有某个类,使用javascript,如何隐藏父div前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,我说我有很多div.一些div,孩子们有一个班级,其他孩子们有不同的班级.

我想只隐藏有一个特定类的孩子的div.

例如,

  1. <div class="mainDiv">
  2. <div class="kulkul">
  3. <div class="childA">
  4. </div>
  5. </div>
  6. </div>
  7.  
  8. <div class="mainDiv">
  9. <div class="lalala">
  10. <div class="childB">
  11. </div>
  12. </div>
  13. </div>
  14.  
  15. <div class="mainDiv">
  16. <div class="kulkul">
  17. <div class="childA">
  18. </div>
  19. </div>
  20. </div>
  21.  
  22. <div class="mainDiv">
  23. <div class="lalala">
  24. <div class="childA">
  25. </div>
  26. </div>
  27. </div>
  28.  
  29. <div class="mainDiv">
  30. <div class="kulkul">
  31. <div class="childB">
  32. </div>
  33. </div>
  34. </div>
  35.  
  36. <div class="mainDiv">
  37. <div class="lalala">
  38. <div class="childA">
  39. </div>
  40. </div>
  41. </div>

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

据我所知(CSS3无论如何),这不能用CSS完成,因为CSS不允许你设置父div的样式,只允许子div.父母.mainDiv divs(我想隐藏的那些)都完全一样.

这样就留下了javascript.

使用上面的示例,如何隐藏包含带有.childB类的子div的所有.mainDiv div?

解决方法

根据其直系后裔隐藏父母元素
  1. //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'
  2. var elementToHideList = document.getElementsByClassName("sample-element-to-hide");
  3. for (var i = elementToHideList.length; i--;)
  4. elementToHideList[i].parentNode.style.display = "none";

根据子元素隐藏父母元素.

  1. //Solution for the OP
  2. //Update the **childB** with whatever you wanted to use as a child class with the parent element you wanted to hide.
  3. //Note that this would only works if the parent element has a **className** mainDiv. You can change mainDiv with your own parent className.
  4.  
  5. $('.classB').closest('.mainDiv').hide();

猜你在找的CSS相关文章