2011-05-31 86 views
31

我有<div id='mydiv'>,我需要选择所有prediv元素,它们是#mydiv的子元素。如何选择多个给定元素的子元素?

我能做到这样:

div#mydiv > pre, div#mydiv > div 

但是,能不能做到让#mydiv被引用一次?

div#mydiv > pre, div 

将选择页面上的所有div小号不管他们的#mydiv孩子,所以逗号不是一个办法做到这一点。也许还有另一种我不知道的语法?

+1

就是这样......没有其他办法 – Teneff 2011-05-31 19:36:41

+2

那么你不需要'div'在你的选择器的开头...... – Fosco 2011-05-31 19:39:02

回答

28

你必须参考#mydiv两次......

#mydiv > pre, #mydiv > div 

我删除了外来div元素选择,作为标识是不够具体。

+1

同意删除div限定符,但我没有看到问题中提到的jQuery或标签 - 也许只是把它写成CSS? – clairesuzy 2011-05-31 19:49:58

+0

@clairesuzy很好的捕获...更新。 – Fosco 2011-05-31 19:50:38

8

据我所知,选择器分组没有简写。

参见“Selector Grouping”。

虽然LESS可能在“嵌套规则”部分。

+2

这是LESS被设计处理的那种情况,看起来 – 2012-07-09 18:17:59

2

引用ID只有一次的唯一方法是与*选择使用它:

#mydiv > * { 

将适用于所有元素属于该分区的孩子。

取决于你打算应用什么样式这可能是可行的(我通常用这个来清除边距,填充和边框样式),但它仍然可能是最好的第一种方式,因为它可以更容易随后做出例外/更改。