J'ai des divs de la même classe, j'ai besoin de cacher toute la DIV de chaque classe, à l'exception d'une première, mais la classe comme critique ou majeure peut être modifiée en fonction de la condition. Script ci-dessous.
5 Réponses :
Vous pouvez utiliser le: non et: premier sélecteur
J'ai besoin de cacher tout DIV de chaque classe sauf la première et ici la classe arrive de manière dynamique, cela peut changer également pour que je ne puisse pas utiliser toujours critique
une petite fonction petite, réutilisable et facile à comprendre.
p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main">
<div id="critical">
<h4 id="test" class="critical">critical 1</h4>
</div>
<div id="critical">
<h4 id="test" class="critical">critical 2</h4>
</div>
<div id="critical">
<h4 id="test" class="critical">critical 3</h4>
</div>
<div id="major">
<h4 id="test" class="major">major 1</h4>
</div>
<div id="major">
<h4 id="test" class="major">major 2</h4>
</div>
</div>Critique et majeure sont une classe dynamique dans mon projet, il changera selon la condition qui vient de JSON, donc directement, je ne peux pas utiliser ces cours
Avec l'exemple que vous avez les seuls éléments avec des classes sont les éléments H4. En utilisant votre exemple si les noms changent de manière dynamique, vous pouvez le faire de cette façon:
Garder un tableau des classes qui ont déjà été filtrées. Vous pouvez passer par chaque div et traiter des identifiants comme des classes mais qui ne sont pas conformes aux normes HTML. P>
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="main"> <div id="critical"> <h4 id="test" class="critical">critical</h4> </div> <div id="critical"> <h4 id="test" class="critical">critical</h4> </div> <div id="critical"> <h4 id="test" class="critical">critical</h4> </div> <div id="major"> <h4 id="test" class="major">major</h4> </div> <div id="major"> <h4 id="test" class="major">major</h4> </div> </div>
Si vous savez au moins qu'ils sont enveloppés par l'élément p> .Main code>, vous pouvez essayer de traverser des éléments un par un, puis masquer un élément s'il a une classe déjà visitée. Vérifiez l'exemple suivant. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main">
<div id="critical">
<h4 id="test" class="critical">critical 1</h4>
</div>
<div id="critical">
<h4 id="test" class="critical">critical 2</h4>
</div>
<div id="critical">
<h4 id="test" class="critical">critical 3</h4>
</div>
<div id="major">
<h4 id="test" class="major">major 1</h4>
</div>
<div id="major">
<h4 id="test" class="major">major 2</h4>
</div>
</div>
array.prototype.slice.call (document.getelementsbyclassname ("critique"). foreach (f onction (el, i) {i! == 0 && el.settattribute ("caché", '') }); code>Vous ne devez vraiment pas définir plusieurs instances du même ID dans votre HTML. Vous demandez des problèmes difficiles à déboguer de cette façon. En outre, votre question a été posée et répondue précédemment ici: Stackoverflow.com/questions/15213961/...
Dupliqué possible de Ignorer les premiers n éléments de JQuery
J'ai besoin de cacher tout DIV de chaque classe sauf la première et ici la classe arrive de manière dynamique, cela peut changer également pour que je ne puisse pas utiliser la critique de la question critique.
Y a-t-il seulement une seule classe?
Le parent div avec id `critique 'ne changera pas trop bien?