2012-01-13 77 views
0

我正在用下拉菜单构建导航。我希望包含无序列表subnav的行项目在悬停时具有白色锚文本。我这样做了,但是我的选择器导致了一个下拉列表项的错误。请参阅:http://jsfiddle.net/W3Dzd/ 如果将鼠标悬停在“sui generis”上并在菜单中向下移动光标,它就能正常工作,但“mantels”除外 - 锚点文本在徘徊时不会改变颜色。 我猜想发生了什么事情是,主导航中的第三个订单项的选择器也选择了subnav中的第三个订单项。 有人可以提出一个更好的选择器或解决方法吗?无序列表中的无序列表 - 选择特定行项目

回答

1

如果您可以更改生成菜单的代码(或者手动更改它们(如果您手动对它们进行手动编码),则最终会得到一个更健壮的系统,方法是将子菜单类应用于父项而不是孩子ul。您之前的代码是通过复杂的选择器定位特定的列表项目,如果您重新排列菜单或从中添加/删除项目,这些选择器会中断。新的代码将处理这些情况没有问题。

你可以看到这是如何在行动,在这个更新的jsfiddle工作样本:http://jsfiddle.net/W3Dzd/4/

+0

感谢您的反馈意见。我不确定你的建议是用你的代码替换哪个选择器?长,什么必须是过分复杂的选择沿线“。导航li:第一孩子+李+ li:悬停>一个”是试图选择一个特定的列表项目,而不是列表中的所有列表项目?你能否澄清你建议我更换哪个选择器?谢谢! – 2012-01-13 14:40:37

+0

@DougFirr我更新了我的答案以改进一点。我不确定你想用这个选择器做什么,但基于它的实际效果似乎是多余的。 – 2012-01-13 14:54:26

+0

啊,谢谢。但是,现在我已经失去了关于头条目“sui generis”和“回收木材”悬停状态的白色锚文本。这是因为我只想选择这些行项目,只是我使用了第一个孩子+李等。你可以建议如何确保这些标题,“sui generis”和“回收木材”,当徘徊时有白色锚文本像以前一样?什么是最好的选择而不影响其他列表项目? – 2012-01-13 14:55:07