抱歉问题比较基础,我正在尝试为导航列表添加悬停状态,但似乎无法解决在不影响父元素
到目前为止,我已经得到了以下代码:
我在 jsfiddle 上设置了一个演示:http://jsfiddle.net/gSPkj/,以下是代码:
HTML-
<li>
的情况下对子元素设置悬停状态。实际上,父元素 <li>
也被悬停了。我知道使用 .add/removeClass()
更理想,但对于我的测试来说,使用 .attr()
更容易。到目前为止,我已经得到了以下代码:
我在 jsfiddle 上设置了一个演示:http://jsfiddle.net/gSPkj/,以下是代码:
HTML-
<div id="sidebarNav">
<ul>
<li class="parent"><a href="page1.html">Page 1</a></li>
<li class="parent"><a href="page2.html">Page 2</a></li>
<li class="parent"><a href="page3.html">Page 3</a></li>
<li class="parent"><a href="page4.html">Page 4</a>
<ul>
<li class="child"><a href="subpage_of_4-2.html">Subpage of 4 - 1</a></li>
<li class="child"><a href="subpage_of_4-2.html">Subpage of 4 - 2</a></li>
</ul>
</li>
</ul>
jQuery -
$("#sidebarNav li.parent").hover(function(){
$(this).attr("style","background:#123de1;color:#eb9028;");
},function(){
$(this).attr("style","background:#fff;color:#000;");
});
$("#sidebarNav li.child").hover(function(){
$(this).attr("style","background:#123de1;color:#eb9028;");
$(this).parents(".parent").attr("style","background:#fff;color:#000;");
},function(){
$(this).attr("style","background:#fff;color:#000;");
});