我正在尝试使用 JQuery 更改悬停时的 menuOption 背景颜色。我所有的代码都可以正常工作,我遇到的唯一问题似乎与 CSS 相关。当背景颜色发生变化时,它似乎只改变了文本的背景颜色,而不是整个 div,这就是我想要的。我觉得奇怪的是,当我进入 menuOption 元素的内联 CSS 并手动更改背景颜色时,它会更改整个 div 背景颜色(这就是我想要的)。但是,我需要使用 JQuery 来实现这一点。
标记片段
<div class='menuOption' style='list-style-type:none; border:1px solid red; float:left; width:180px; height:20px;'>
<a href='index.php/shop/$sub[cat_url]/' style='color:black;'>
<div class='cat_name'>$sub[cat_title]</div>
</a>
<div class='sub_menu' style='display:none; z-index:100; margin-top:-12px; position:absolute; background-color:#ddd; margin-left:182px; box-shadow:3px 3px 6px #444;'>$itemlist</div>
</div>
jQuery 代码段
$(".cat_name").hover(function(){
$(this).parent().parent().find(".sub_menu").show();
$(this, ".menuOption").css("background-color", "#bbb");
});
$(".cat_name").mouseleave(function(){
$(this, ".menuOption").css("background-color", "#eee");
});
我很感激任何关于如何解决这个问题的建议。谢谢你。