Прежде всего, я предполагаю, что это слишком сложно для CSS3, но если где-то там есть решение, я бы предпочел воспользоваться этим.
HTML довольно прост.
<div class="parent">
<div class="child">
Text Block 1
</div>
</div>
<div class="parent">
<div class="child">
Text Block 2
</div>
</div>
Дочерний div настроен на отображение: нет; по умолчанию, но затем изменяется на display: block; когда указатель мыши находится над родительским div. Проблема в том, что эта разметка появляется в нескольких местах на моем сайте, и я хочу, чтобы дочерний элемент отображался только в том случае, если указатель мыши находится над его родителем, а не если указатель мыши находится над любым из других родителей (все они имеют один и тот же класс имя и без идентификаторов).
Я безуспешно пытался использовать $(this)
и .children()
.
$('.parent').hover(function(){
$(this).children('.child').css("display","block");
}, function() {
$(this).children('.child').css("display","none");
});