小编典典

当父元素悬停时更改子元素的 CSS

all

首先,我假设这对于 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:none; 默认情况下,但随后更改为 display:block; 当鼠标悬停在父 div
上时。问题是这个标记出现在我网站上的几个地方,我只希望在鼠标悬停在其父级上时显示子级,而不是在鼠标悬停在任何其他父级上时显示(它们都具有相同的类名称和没有
ID)。

我试过使用$(this).children()无济于事。

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

阅读 109

收藏
2022-07-13

共1个答案

小编典典

为什么不直接使用 CSS?

.parent:hover .child, .parent.hover .child { display: block; }

然后为不支持 :hover 的 IE6 添加 JS(例如在条件注释中):

jQuery('.parent').hover(function () {
    jQuery(this).addClass('hover');
}, function () {
    jQuery(this).removeClass('hover');
});

这是一个简单的例子:小提琴

2022-07-13