2010-06-24 4 views
0

Je suis en train de trouver le chemin jquery correct pour sélectionner seulement une certaine classe dans la div active:classe jquery et ce sélecteur

$('.imageScroll').mouseover(function() { 
    $('.descBox').filter(this).show(500); 
}); 

balisage:

<li> 
<div class="descBox"></div> 
</li> 
<li> 
<div class="descBox"></div> 
</li> 
+0

.. mais qui est actuellement actif div? –

+0

le clic sur - ammendment à venir – kalpaitch

Répondre

3

D'après ce que je comprends, vous devriez essayer $('.descBox', this).

1

Vous voulez dire ceci:

alert($('.descBox').attr('class')); 
1
$(this).filter(".descBox").show(500); 

Habituellement, vous utilisez filter pour faire des choses un peu plus compliquées. Par exemple si vous avez changé l'arrière-plan de tous les divs dans "this" parent, et que vous voulez ajouter une bordure à la classe "descBox" dans tous les divs avec des classes descBox dans "this".

Quelque chose comme ceci (essentiellement soulevé du manuel):

$("div", this).css("background", "#c8ebcc") 
       .filter(".descBox") 
       .css("border-color", "red"); 

Peut-être que dans ce contexte:

<div> 
    <div></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div></div> 
</div> 
<script> 
$("div").click(function() 
{  
    $("div", this).css("background", "#c8ebcc") 
        .filter(".middle") 
        .css("border-color", "red"); 
}); 
</script> 
2

Si vous essayez de montrer les divs avec .descBox qui sont à l'intérieur de l'élément this (qui jamais), puis utiliser

$('.descBox', this).show(500); 
+0

Merci à tous, je devrais vraiment connaître ma syntaxe jquery de base. – kalpaitch