回答
这是不可能的与CSS,因为你通过选择一个祖先的基础上的后代对抗级联。
我可以提供,并建议最好是一个jQuery的方法:
$(document).ready(
function() {
$('.givenClassName').parent().addClass('something');
}
);
此找到与givenClassName
的元素,然后选择它的父元素,并增加了类something
该元素。
@Blaenk建议了一种替代方法,它更通用(他的方法不要求祖先元素是您选择的元素的父元素)。
很明显,其他JS库和JS本身都可以达到同样的效果,但我不能提供特别的建议,因为我仍然只是熟悉自己的JS和主要与jQuery(为什么是的,我am惭愧自己......)。
+1设置样式,并且您的代码示例中有未封闭的引用。 – 2010-09-07 20:58:06
@Jeff Rupert,感谢+1和更正(编辑更正)=) – 2010-09-07 21:00:26
哈哈,我和你在Javascript和jQuery上一样。一直在阅读一些书,以加快速度。 Javascript:The Good Parts和jQuery in Action,第二版 – 2010-09-07 21:01:08
不可以CSS CSS级联不允许使用这种选择器。
在这种情况下,最好的解决方案是使用JavaScript修改DOM,或者更改生成的HTML以将类添加到ul
标签。
据我所知,这不幸的是不可能与CSS。
如果你可以使用Javascript,jQuery有一个很好的方法来使用closest()
方法。 documentation它甚至列出了一个非常类似于你的例子:选择一个具有特定类的li的ul。
$("li.some-class").closest("ul");
请原谅我,如果这不是在jQuery中做到这一点的最好方法。我实际上对jQuery并不熟悉,这是迄今为止我学到的方法之一,而且看起来很合适。
对于更通用的(比我的)jQuery方法+1。 – 2010-09-07 21:01:01
- 1. 选择基于CSS的子元素
- 2. 选择基于类的子元素,它具有
- 3. 基于同一类型的前一个元素选择元素
- 4. JQuery从父元素中选择基于多个类的子元素
- 5. 基于子元素值选择父XML元素LINQ C#
- 6. 填充选择基于JSON的元素
- 7. 基于数据的元素选择
- 8. 禁用基于类的选择元素选项
- 9. 基于相邻孩子有选择地更新XML子元素值元素值
- 10. 基于子元素
- 11. 基于多个选择元素和单个选择元素的组合筛选
- 12. CSS基于同胞的孩子的元素选择
- 13. 基于文本选择元素
- 14. 选择父基于XML的子元素(整个层次)元素的值LINQ
- 15. 选择/于子元素匹配的XSLT
- 16. 用于子元素的jquery选择器
- 17. 基于父级的属性值选择子元素
- 18. XML模式选择基于父项的子元素属性
- 19. 有选择地隐藏基于父级的子元素
- 20. 基于其前一个兄弟的孩子选择元素
- 21. 基于元素名称子字符串的XSLT节点选择
- 22. 选择子元素的父类
- 23. 选择基于多个类别的元素
- 24. 基于类属性的LINQ选择列表元素
- 25. Google chrome开发者工具:基于css类的元素选择
- 26. 显示基于选择选择的元素 - jQuery,HTML
- 27. 选择相邻元素的子元素
- 28. 我可以使用CSS3选择器来基于子元素进行选择吗?
- 29. 选择基础元素?
- 30. 基于另一种元素选择元素属性
[CSS父选择器]的可能重复(http://stackoverflow.com/questions/1014861/css-parent-selector) – 2010-09-07 20:58:03
是的,它确实是重复的。谢谢 – akonsu 2010-09-07 23:02:00