在CSS中递归选择所有子元素

cla*_*rkk 372 css css-selectors

如何递归选择所有子元素?

div.dropdown, div.dropdown > * {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

此类仅在已定义的className和所有直接子项上抛出一个类.你怎么能以一种简单的方式选择所有这样的childNodes:

div.dropdown, 
div.dropdown > *, 
div.dropdown > * > *, 
div.dropdown > * > * > *, 
div.dropdown > * > * > * > * {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

anr*_*sti 573

使用空格来匹配元素的所有后代:

div.dropdown * {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

x y匹配x内部的每个元素y,但深层嵌套可能是 - 儿童,孙子等等.

星号*匹配任何元素.

官方规范:CSS 2.1:第5.5章:后代选择器

  • 好的,非常基本的例子:`p.xy`比`p`更重要,因为它更具体.http://jsfiddle.net/ftJVX/ (2认同)
  • 如果我想要所有有特定班级的孩子怎么办? (2认同)

Abd*_*UMI 130

规则如下:

A B 
Run Code Online (Sandbox Code Playgroud)

B作为A的后代

A > B 
Run Code Online (Sandbox Code Playgroud)

B作为A的孩子

所以

div.dropdown *
Run Code Online (Sandbox Code Playgroud)

并不是

div.dropdown > *
Run Code Online (Sandbox Code Playgroud)