2016-08-28 5 views
0

У меня есть три дивы с тем же классом, внутри диссертаций DIVS У меня есть другие дивы с двумя разными классом:Скрыть все дивы, которые содержат элемент внутри

<div class="TotalResults"> 
<div class="resultPassed"></div> 
</div> 

<div class="TotalResults"> 
<div class="resultPassed"></div> 
</div> 

<div class="TotalResults"> 
<div class="resultError"></div> 
</div> 

Я хотел бы, чтобы скрыть все дивы, которые имеют class="resultPassed" внутри него , как я могу сделать это с помощью javascript или jquery?

+0

Возможный дубликат [проверить дочерний элемент, скрыть родителя, если ребенок существует] (http://stackoverflow.com/questions/26725552/check-for-child-element- hide-parent-if-child-exists) – Li357

+0

Надеюсь, это поможет вам. [Скрыть родителя div] (http://stackoverflow.com/questions/11730765/hide-parent-of-div) – StevenC

ответ

4

Это должно работать:

$('.resultPassed').parent().hide() 
1

Попробуйте:

$("div").has(".resultPassed").hide(); 

Окончательный код:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    
 
</head> 
 
<body> 
 
    <div class="TotalResults"> 
 
     <div class="resultPassed">I am resultPassed</div> 
 
    </div> 
 
    
 
    <div class="TotalResults"> 
 
     <div class="resultPassed">I am resultPassed</div> 
 
    </div> 
 
    
 
    <div class="TotalResults"> 
 
     <div class="resultError">I am not resultPassed</div> 
 
    </div> 
 
    
 
    <button class="btn">Hide</button> 
 
    
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
    <script>   
 
    $(document).ready(function(){ 
 
     
 
     $(".btn").on("click",function(){ 
 
      $("div").has(".resultPassed").hide(1000); 
 
     }) 
 
     
 
    }) 
 
    </script> 
 
</body> 
 
</html>

0

В Jquery -

$('.resultPassed').parent().hide() изменит отображение на none.

В чистом JS -

var arr = document.getElementsByClassName("resultPassed"); 

for (var i = 0; i < arr.length; i++) { 
    arr[i].parentNode.style.display = "none"; 
} 
Смежные вопросы