2010-03-14 3 views
0

Lors de l'ajout gestionnaire d'événements à un certains éléments en utilisant la requête:éléments enfants Jquery

$('div').mouseover(function() { 

            }); 

fonction Iinside j'ai un élément pour lequel on ajoute la fonction d'événement ($ (this)). comment puis-je vérifier dans cette fonction suivante:

  1. Avoir cette "DIV" ($) (ce) éléments enfants "DIV"?
  2. Avez-vous "DIV" ($ (this)) enfant élément "DIV" avec une hauteur supérieure à 300?
+2

S'il vous plaît révisent. Pas sûr de ce que vous demandez. –

+0

btw, jetez un oeil ici pour beaucoup de bons extraits http://addyosmani.com/blog/50-jquery-snippets-for-developers/ – adardesign

Répondre

0
$('div').mouseover(function() { 
    var children = $(this).children("div"); //for immediate child div 
    if(children.length > 0){ 
    alert("'div' child present"); 
    for(i=0; i < children.length; i++){ 
     if(children[i].height() > 300) 
      alert("'div' with height more than 300 present"); 
    } 

}); 

Mise à jour: children[i].css('height') peut également être utilisé.

+0

Mais il y a une erreur chez les enfants [i] .height(): cela fonctionne seulement avec une telle syntaxe $ (enfants [i]). height() – Anton

+0

@Anton: Hmm. Vous pouvez utiliser '.css ('height')' dans ce cas. –

0

Lorsque vous êtes dans la fonction, this fait référence à l'élément DIV. Vous pouvez ensuite faire tout ce que vous souhaitez en savoir plus à ce sujet. Donc, pour obtenir l'enfant DIV, vous pouvez utiliser var childDivs = $('div',this);.

1

Vous pouvez déposer cela à l'intérieur de votre code d'événement mouseover:

$(this).children('div').each(function() { // $(this) is your parent <div> 
    if ($(this).height() > 300) { // $(this) is the current child <div> 
    // Do things here... 
    } 
}); 
Questions connexes