Html 如何使用CSS选择所有具有UL子元素的LI元素并设置其样式?
可能重复:Html 如何使用CSS选择所有具有UL子元素的LI元素并设置其样式?,html,css,Html,Css,可能重复: 我正在制作一个CSS上下文菜单,我希望所有具有子菜单的列表项都采用不同的样式,以便在视觉上向用户表示它们具有子菜单 上下文菜单是UL元素,其列表项是LIs,子菜单是ULs我已经关闭了功能,我只需要能够以不同的方式设置子菜单项的样式,使它们明显不同 代码和伪代码: 我拥有的(工作CSS): 我还想要什么(伪代码): 除非您只是(而不是…),否则无法根据元素的内容选择元素 你能做的就是 更改标记以为包含子菜单的菜单项添加类,并设置其样式 在“不可见/折叠”模式下更改子菜单的样式,使其
我正在制作一个CSS上下文菜单,我希望所有具有子菜单的列表项都采用不同的样式,以便在视觉上向用户表示它们具有子菜单 上下文菜单是UL元素,其列表项是LIs,子菜单是ULs我已经关闭了功能,我只需要能够以不同的方式设置子菜单项的样式,使它们明显不同 代码和伪代码:
我拥有的(工作CSS): 我还想要什么(伪代码): 除非您只是(而不是…),否则无法根据元素的内容选择元素 你能做的就是
如前所述,CSS选择器无法解决您的请求(请参阅) 当然,您可以将类添加到列表项中,但解决所需问题的最简单方法是一行jQuery脚本:
$('li').has('ul').addClass('has-ul');
在纯CSS中不可能。在某个时候,有人谈论过如何实施这一点,但不这样做的原因是因为这样做会非常缓慢。完成类似任务的最简单方法是向包含
ul
的元素添加一个类。您是否使用任何后端代码来呈现此HTML?HTML非常简单(这就是我想要的;一个人可以轻松地用最少的麻烦/知识创建自己的上下文菜单)。这是一个带有子菜单的基本菜单:- 菜单项
- 子菜单
- 子菜单项
+1-这就是我要做的,jQuery对于标准CSS难以完成的情况非常有用。特别是如果你正在寻找与旧版本IE的向后兼容性,那么情况也是如此。
.bhContextMenu LI contining UL{
font-weight:bold;/* or something */
}
$('li').has('ul').addClass('has-ul');