首先,我假设这对于 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()无济于事。
$(this)
.children()
$('.parent').hover(function(){ $(this).children('.child').css("display","block"); }, function() { $(this).children('.child').css("display","none"); });
为什么不直接使用 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'); });
这是一个简单的例子:小提琴