html - 如何使用 css 选择器查找不在一个 div 内的所有输入?

标签 html css css-selectors

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 内但不在 .nest 内的输入,它们是 i2,i3,i4。如何做到这一点?

最佳答案

根据您的标记,您应该能够将 :not() 与子选择器一起使用:

div:not(.nest) > input

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

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

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

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

关于html - 如何使用 css 选择器查找不在一个 div 内的所有输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593611/

相关文章:

html - 在 (i18n) yml 中插入 HTML 特殊字符

javascript - 我可以使用::before content 使 div 成为可点击的链接吗?

css - 使用 CSS 使 <h1> 垂直居中?

css - 通过 id 和 class 选择 div

CSS选择器: first child of parent

html - 如何垂直居中 amp-img ?

javascript - 如何使用一个 XSLT 文件中的变量到另一个 XSLT 文件

javascript - 旋转字符的 HTML 按钮

javascript - 悬停下划线的边距问题

html - 需要帮助引用标记标签的 CSS 类