2010-03-20 4 views
2

Est-ce htmlCertains problèmes avec jQuery

<div class='title centered'>SCE</div> 
    <div class='description'> 
    Magna tristique pulvinar porta montes, scelerisque 
    odio montes porta habitasse, ut, arcu scelerisque vel, pellentesque 
    </div> 

je dois disparaître infants div (description) après avoir cliqué sur le parent (titre).

$('.title').click(function() { 
    $(this).find('.description').fadeOut(fadeTime); 
    }) 

Qu'est-ce qui ne va pas?

+2

Essayez d'être plus précis dans le titre. vous obtiendrez de meilleurs résultats. –

Répondre

1

Si vous n'avez qu'une seule fois sur votre page, la réponse de balalakshmi fonctionnera. Si vous avez plus d'un, rendez-vous avec ceci:

$('.title').click(function() { 
    $(this).next('.description').fadeOut(fadeTime); 
}) 

Notez l'utilisation de next, qui regarde l'élément suivant au même niveau dans le Royaume, au lieu de find qui recherche les personnes décédées.

Enfin, si l'effet que vous tentez de réaliser est un clic sur le titre, utilisez slideToggle ou l'un des nombreux plugins fadeToggle.

0

Essayez avec:

$("#t_sce").click(function() { 
    $("#d_sce").fadeOut(fadeTime); 
}); 
+0

Désolé, il doit être utilisé sans #id. Correction à la question – burgua

1

avez-vous essayé cela?

$('.title').click(function() { 
    $('.description').fadeOut(fadeTime); 
    }) 
+0

Il y a beaucoup de ces blocs. L'action doit être exécutée uniquement dans l'un d'eux (cliqué) – burgua

1

Permet de trouver l'élément suivant .next() et $ travailler avec cette

$('.title').click(function() { 
    $(this).next('.description').fadeOut(fadeTime); 
}); 
1

La chose est que dans mal votre code « description » est pas un enfant de « titre ».

Je pense que la réponse de balalakshmi fera le travail pour vous ou vous pouvez utiliser si vous ne voulez pas utiliser « description » classe comme un sélecteur:

$('.title').click(function() { 
    $(this).next().fadeOut(fadeTime); 
    }) 
0

j'aurais une autre enveloppe div parent autour .

<div class='item'> 
    <div class='title centered'>SCE</div> 
     <div class='description'> 
     Magna tristique pulvinar porta montes, scelerisque 
     odio montes porta habitasse, ut, arcu scelerisque vel, pellentesque 
     </div> 
    </div> 
</div> 

Alors j'appeler à l'aide

$('.title').click(function() { 
    $(this).parents('div.item').find('.description').fadeOut(fadeTime); 
}) 

Ce code ne dépend de l'ordre du div discription.

Questions connexes