1

我也有一个带有子菜单子导航的菜单,并且我正在尝试根据子<ul>容器的悬停将一个类附加到孩子的父级。

这就是我到目前为止所拥有的:http: //jsfiddle.net/2KhnX/15/

但如您所见,该类永远不会被附加。如果我从 HTML 中剥离大部分 CSS,但留下我想要附加的类,它工作正常 - http://jsfiddle.net/2KhnX/21/

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

任何见解将不胜感激,因为我迷路了。

4

1 回答 1

2

这是有问题的CSS:

ul.menu li a:link, ul.menu li a:visited {
        background: url('images/alink.jpg') top center repeat-x;
}
.parenthovered {
    /* stuff */
}

那些第一个选择器比 .parenthovered 选择器具有更高的特异性,因此具有优先权。您可以通过几种方式解决这个问题;一种方法是在第一组选择器上不那么具体,而在第二组选择器上更具体:

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

.menu a.parenthovered {
    /* stuff */
}

当然,您必须选择对页面其余部分有意义的选择器...

工作小提琴:http: //jsfiddle.net/pabo/NR4yB/1/

此外,删除此行也可以:

background: url('images/alink.jpg') top center repeat-x;
于 2012-04-23T18:52:39.910 回答