0

html代码:

<div id="div1">
  <div class="nest">
     <input name="i1"/>
  </div>
  <div>
      <input name="i2"/>
  </div>
  <input name="i3"/>
  <div>
      <input name="i4" />
  </div>
</div>

现在我想用 css 选择器找到所有在里面#div1但不在里面的输入,它们是. 这个怎么做?.nesti2,i3,i4

4

3 回答 3

5

鉴于您的标记,您应该能够使用:not()子选择器:

div:not(.nest) > input

如果您需要将范围限制为#div1您可能需要一个稍微复杂的选择器:

#div1 > input, #div1 > div:not(.nest) > input

如果您有任意和不受控制的嵌套级别,我不确定您是否能够:not()单独使用所有情况。

如果:not()由于浏览器支持问题而根本无法使用,那么使用纯 CSS 就不走运了。

于 2012-05-15T03:07:30.953 回答
1

最简单的方法是使用子选择器:

#div1 > input
于 2012-05-15T03:00:19.907 回答
0
#div1 div:nth-child(2) > input, #div1 div:last > input
于 2012-05-15T05:45:52.107 回答