Css 仅当包含select时才选择div

Css 仅当包含select时才选择div,css,Css,只有当父div直接包含select时,才有CSS选择器用于选择父div吗 示例代码: <div class="top_level"> <input type="radio"></input> </div> <div class="top_level"> <input type="text"></input> </div> <div class="top_level"> <

只有当父div直接包含select时,才有CSS选择器用于选择父div吗

示例代码:

<div class="top_level">
  <input type="radio"></input>
</div>
<div class="top_level">
  <input type="text"></input>
</div>
<div class="top_level">
  <select name="namehere">
    <option>...</option>
    <option>...</option>
    <option>...</option>
  </select>
</div>

...
...
...
假设我只想选择第三个3rd
top\u level
class div,因为它直接包含一个select,我该怎么做


我确实试着四处寻找答案,但找不到任何答案。如果在CSS中可以选择父项,则会容易得多。

如果使用jQuery,则可以使用:


如果您只使用CSS,那么答案很简单:不,您没有任何类似于选择父项的功能。

如果您使用jQuery,那么您可以使用:


如果您只使用CSS,那么答案很简单:不,您没有任何类似于选择父对象的功能。

您可以使用:empty伪类检查容器是否为空(不包括换行符)

无法检查它是否包含元素类型。但您可以重新构造标记以使用:空选择器

例如:


可以使用:empty伪类检查容器是否为空(不包括换行符)

无法检查它是否包含元素类型。但您可以重新构造标记以使用:空选择器

例如:


我想避免在这里使用JS。。现在正在寻找一个纯粹的CSS解决方案。如果我找不到任何东西,那么我将转到JS。@Ahmad,我已经编辑过了。我很抱歉,但我不认为有一个纯粹的CSS解决方案。是的,你可能是对的。我会看看我能不能在没有CSS的情况下做点什么。如果没有,我将使用此选项并将您的答案标记为所选答案。我希望避免在此处使用JS。。现在正在寻找一个纯粹的CSS解决方案。如果我找不到任何东西,那么我将转到JS。@Ahmad,我已经编辑过了。我很抱歉,但我不认为有一个纯粹的CSS解决方案。是的,你可能是对的。我会看看我能不能在没有CSS的情况下做点什么。如果不是,我将使用此选项,并将您的答案标记为所选答案。可能重复的问题我猜问题可能看起来类似,但从技术上讲,我不是在这里要求家长选择器。我在问是否可以根据元素包含的内容来选择元素。从技术上讲,我认为它们是不同的问题。可能的重复我猜这个问题可能看起来很相似,但从技术上讲,我并不是在这里要求一个父选择器。我在问是否可以根据元素包含的内容来选择元素。从技术上讲,我认为它们是不同的问题。不过有点粗俗。还有一个小的拼写错误:X你能更正一下以供将来参考吗?你能告诉我它在哪里吗?列表:不(:emtpy){}这就是它的使用方法,如果是这样的话,它是相当黑客的-使用一个假选择器/过滤器?虽然有点黑客。还有一个小拼写错误:X你能更正一下以供将来参考吗?你能告诉我它在哪里吗?.list:not(:emtpy){}这就是它的使用方法,如果是这样的话,它是相当黑客的-使用一个假选择器/过滤器?
$('div.top_level:has(select)')
<div class="top_level">
  <input type="radio"></input>
  <div class="list"></div>
</div>
<div class="top_level">
  <input type="text"></input>
  <div class="list"></div>
</div>
<div class="top_level">
  <div class="list">
  <select name="namehere">
    <option>...</option>
    <option>...</option>
    <option>...</option>
  </select>
</div>
</div>
.list:not(:emtpy) {
                // to select all lists that are non-empty
}