JQueryを使用してホバー時にmenuOptionbackground-colorを変更しようとしています。私のコードはすべて正常に機能します。私が抱えている唯一の問題はCSSに関連しているようです。背景色が変わると、div全体ではなく、テキストの背景色だけが変わるように見えます。これが私が望んでいることです。私が奇妙だと思うのは、menuOption要素のインラインCSSに移動し、background-colorを手動で変更すると、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");
});
これを理解する方法についての提案に感謝します。ありがとうございました。