Pourriez-vous me dire comment je cache ma mère .secondchild si le parent a une classe d'enfant.

Voici le code

Code HTML

<div class="parent">
    <div class="child">
        children
    </div>
</div>
<div class="mother">
    <div class="secondchild">
        second-child
    </div>
</div>

Voici mon script mais ne fonctionne pas

if ($(".parent").hasClass("child")) {    
    $('.mother .secondchild').hide()
}
0
user10679244 20 nov. 2018 à 14:24

4 réponses

Meilleure réponse

Puisque votre div parent n'a pas de classe appelée enfant, votre script ne donnera pas la sortie souhaitée. essaye ça

if($('.parent').children().hasClass('child')){
    $('.mother .secondchild').hide();
}

DÉMO ICI

MODIFIER

Sur la base du commentaire de l'OP, le div est caché dans le clic du bouton.

Html

<button id="btnClick">
Click Me
</button>

JS

$('body').on('click','#btnClick','',function(){
   if($('.parent').children().hasClass('child')){
      $('.mother .secondchild').hide();
   }
});

DÉMO À JOUR

2
Kiranramchandran 20 nov. 2018 à 12:11
    $(function(){
        $("body").on("click",".click",function(){
            if ($(".parent ").children("div.child")) {
                $('.mother .secondchild').hide()
            }
        })
    });
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
    <div class="parent">
        <div class="child">
            children
        </div>
    </div>
    <div class="mother">
        <div class="secondchild">
            second-child
        </div>
    </div>
    <button class="click">
        button
    </button>
</body>
</html>
0
Parvej Alam 20 nov. 2018 à 11:55

Faites ce travail sans aucune condition if

$(".parent:has(.child)").next().find(".secondchild").hide()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
  <div class="child">
    children
  </div>
</div>
<div class="mother">
  <div class="secondchild">
    second-child
  </div>
</div>
0
Mohammad 20 nov. 2018 à 12:23

Vous changez simplement "hasclass" en "has", puis ça marche.

if($('.parent').has('.child')){
   $('.mother .secondchild').hide();
}
0
Fatemeh Khosravi Farsani 20 nov. 2018 à 16:36