首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery,CSS & siblings选择器问题

jQuery,CSS & siblings选择器问题
EN

Stack Overflow用户
提问于 2011-03-31 22:04:15
回答 1查看 532关注 0票数 1

我正在尝试用jQuery制作一个滑动菜单,我的问题是,主导航(一个悬停图像)中的悬停css规则也适用于我的兄弟姐妹,尽管我为他们制定了css规则。

我需要兄弟只与#FFF没有悬停图像的文本。

代码现在非常糟糕,因为我已经尝试了许多属性来使其工作,但没有成功。

下面是我的jQuery代码:

代码语言:javascript
复制
$(document).ready(function(){
$("#main-nav li a.main-link").click(function(){
    $("#main-nav li a.close").fadeIn();
    $("#main-nav li a.main-link").removeClass("active");                                                 
    $(this).addClass("active");                                      
    $("#sub-link-bar").animate({
        height: "40px"                     
    });
    $(".sub-links").hide();
    $(this).siblings(".sub-links").fadeIn();
});
$("#main-nav li a.close").click(function(){
    $("#main-nav li a.main-link").removeClass("active");                                                                                     
    $(".sub-links").fadeOut();
    $("#sub-link-bar").animate({
        height: "1px"                      
    });     
    $("#main-nav li a.close").fadeOut();
});

HTML

代码语言:javascript
复制
<div id="sub-link-bar"></div>
 <div id="main-handle">
  <ul id="main-nav">
   <li><a class="main-link" href="#">Main Link</a>
    <ul class="sub-links">
     <li><a href="#" title="test"> Sub Link</a></li>
    </ul>
   </li>
 </ul>
</div>

和我的CSS

代码语言:javascript
复制
#main-nav {
margin: 0px 0px 0px 0px;
padding-top: 10px;
padding-left: 0px;
background-image: url(../images/menu.png);
background-repeat: repeat-x;
height: 41px;
width: 100%;
list-style:none;
color:#306295;
}

#main-handle {
width: 100%;
float: right;
margin-top: -1px;
}
#main-nav li {
display: inline;
list-style: none;
}
#main-nav li a {
font-size: 12px;
text-decoration: none;
font-family:Verdana, Geneva, sans-serif;
font-weight:bold;
outline: 0;
height: 41px;
color:#306295;
text-align: left;
padding:13px 16px 13px 16px;
}
#main-nav li a:hover, #main-nav li a.active {
background-image: url(../images/bg-main-nav-hover.jpg);
text-align: left;
padding:13px 16px 13px 16px;
color:#FFF;
height: 41px;
background-position: center;
}
#sub-link-bar {
background: #476192;
background-image: url(../images/sub-bar-bg.png);
background-repeat: repeat-x;
min-height: 1px;
border-bottom: #645546 1px solid;
}
.sub-links {
display:none;
position: absolute;
width: 100%;
top: 113px;
text-align: left;
left: -40px;
}
.sub-links ul li a{
color:#FFF;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
font-weight: normal;
background-image: none;
}
.sub-links li a:hover{
color: #e0e0e0;
text-decoration:none;
background-image: none;
}
#main-nav li a.close{
display: none;  
position: absolute;
color:#fff;
}
#main-nav li a.close:hover{
background: #900;
}
EN

回答 1

Stack Overflow用户

发布于 2011-03-31 22:06:01

如果要将规则仅应用于直接子项,请在CSS中使用以下内容:

代码语言:javascript
复制
.parent > .child

或者在你的代码中:

代码语言:javascript
复制
#mainNav li > a:hover {

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5501153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档