jquery si div a afficher aucun addclass à la classe parent
Je veux ajouter une classe à la balise div avec la classe de catresults "si les divs ci-dessous avec la classe de refinement_category_item" style="display:none".
<div class="refinement_category_section">
<div class="find_by_category_text">
<div class="catresults">By Category</div>
</div>
<div class="refinement_category_item" style="display: none"> <a onclick="Add_Search_Param('cat', '2847'); Refine();" href="javascript: void(0);" class="refinement_category_link"> <span class="refinement_category_text">Back Bar Coolers (61)</span> </a> </div>
$(document).ready(function(){
if($(".refinement_category_item").not(":visible")){
$(".refinement_category_item").parent().find("div.catresults").addClass('backgroundfilter');
}
});
Je suis confus. Dans votre code HTML, le
Peut-être que ma question n'était pas clair à nouveau. Je veux simplement ajouter une classe à la balise div avec la classe de catresults "si les divs ci-dessous avec la classe de refinement_category_item" style="display:none".
Cela fait plus de sens. Je ajout d'une réponse. Seul truc qui m'inquiète un peu, c'est que vous vous référez à la divs (au pluriel) ci-dessous. Je ne vois qu'un, donc si il y a plusieurs qui doit être testé, il va changer la solution.
Oui il y a plusieurs divs qui sont identiques dans la classe. Lorsque DIV class='catresults' est sélectionné, il bascule tous les divs en dessous (display=none), donc je veux ajouter un arrière-plan lorsque sélectionné (addclass).
Qu'entendez-vous par catresults est sélectionné. Comment fait-il sélectionné? Est-il obtenir cliqué? D'un autre code de sélection?
refinement_category_item
n'a pas un parent avec catresults
.Peut-être que ma question n'était pas clair à nouveau. Je veux simplement ajouter une classe à la balise div avec la classe de catresults "si les divs ci-dessous avec la classe de refinement_category_item" style="display:none".
Cela fait plus de sens. Je ajout d'une réponse. Seul truc qui m'inquiète un peu, c'est que vous vous référez à la divs (au pluriel) ci-dessous. Je ne vois qu'un, donc si il y a plusieurs qui doit être testé, il va changer la solution.
Oui il y a plusieurs divs qui sont identiques dans la classe. Lorsque DIV class='catresults' est sélectionné, il bascule tous les divs en dessous (display=none), donc je veux ajouter un arrière-plan lorsque sélectionné (addclass).
Qu'entendez-vous par catresults est sélectionné. Comment fait-il sélectionné? Est-il obtenir cliqué? D'un autre code de sélection?
OriginalL'auteur ToddN | 2011-02-16
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur user113716
Quelques notes...
this
est définie par jQuery - elle n'est pas définie par unif
construire.is(':visible')
est le jQuery.addClass()
, vous ne mettez pas le premier.
.$(function() { ... })
puis mettre vos scripts inline sous les éléments du DOM.OriginalL'auteur alex
Vous utilisez
$(this)
où le code ne sais pas ce que$(this)
est. Vous devez utiliser$(".refinement_category_item")
là aussi.Aussi
$(".refinement_category_item").css('display')== 'none'
pourrait également être$(".refinement_category_item").is(':hidden')
<script> if($('div.refinement_category_item').is(':hidden') ){ $('catresults').addClass('.backgroundfilter'); } </script>
OriginalL'auteur teuneboon
Essayez ceci:
Il n'y a pas une telle sélecteur :hidden, :visible signifie que l'élément est visible (conditions: api.jquery.com/visible-selector)
OriginalL'auteur Mārtiņš Briedis
Je serais plus enclin à faire quelque chose comme cela. Code non testé, mais les principes sont son.
HTML:
JS:
OriginalL'auteur Mitch