由于CSS,JQuery同级选择器未附加类

由于CSS,JQuery同级选择器未附加类,css,jquery-selectors,toggleclass,Css,Jquery Selectors,Toggleclass,我还有一个带有子菜单子导航的菜单,我正试图根据子菜单容器的悬停将一个类附加到子菜单的父菜单 这就是我到目前为止所做的: 但是正如您所看到的,这个类永远不会被追加。如果我从HTML中去掉了大部分CSS,但保留了我想要附加的类,它就可以正常工作了- 这让我相信CSS正在冲突或破坏JQuery试图执行的事件。我的猜测可能是因为我正在使用CSS的parent>child规则,或者可能是因为.sub-menu的初始属性为display:none。我不确定,我只知道CSS把事情搞砸了,或者因为CSS,我没有

我还有一个带有子菜单子导航的菜单,我正试图根据子菜单容器的悬停将一个类附加到子菜单的父菜单

这就是我到目前为止所做的:

但是正如您所看到的,这个类永远不会被追加。如果我从HTML中去掉了大部分CSS,但保留了我想要附加的类,它就可以正常工作了-

这让我相信CSS正在冲突或破坏JQuery试图执行的事件。我的猜测可能是因为我正在使用CSS的
parent>child
规则,或者可能是因为
.sub-menu
的初始属性为
display:none
。我不确定,我只知道CSS把事情搞砸了,或者因为CSS,我没有使用合适的选择器


任何洞察都将不胜感激,因为我迷路了

这是令人不快的css:

ul.menu li a:link, ul.menu li a:visited {
        background: url('images/alink.jpg') top center repeat-x;
}
.parenthovered {
    /* stuff */
}
第一个选择器的值高于.parenthouse选择器,因此优先。你可以用几种方法来解决这个问题;一种方法是在第一组选择器上不太具体,而在第二组选择器上更具体:

a:link, a:visited {
        background: url('images/alink.jpg') top center repeat-x;
}

.menu a.parenthovered {
    /* stuff */
}
当然,您必须选择对页面其余部分有意义的选择器

工作小提琴:

此外,删除此行也可以:

background: url('images/alink.jpg') top center repeat-x;

哇!谢谢在解释方面也非常好!我不可能要求一个更好的答案。