Changer l'enfant de l'élément CSS lorsque le parent est planait

Tout d'abord, je suppose que c'est trop complexe pour CSS3, mais si il y a une solution, quelque part, j'aimerais aller à la place.

Le HTML est assez simple.

<div class="parent">
    <div class="child">
        Text Block 1
    </div>
</div>

<div class="parent">
    <div class="child">
        Text Block 2
    </div>
</div>

L'enfant div est fixé à display:none; par défaut, mais alors display:block; lorsque la souris survole le div parent. Le problème est que cette balise apparaît à plusieurs endroits sur mon site, et je veux seulement que l'enfant sera affiché que si la souris est au-dessus de la mère, et non pas si la souris est au-dessus de tout les autres parents (ils ont tous le même nom de classe et aucune Id).

J'ai essayé d'utiliser $(this) et .children() en vain.

$('.parent').hover(function(){
            $(this).children('.child').css("display","block");
        }, function() {
            $(this).children('.child').css("display","none");
        });