【问题标题】::has Selector in CSS doesn't allow specificity:has Selector in CSS 不允许特殊性
【发布时间】:2013-10-18 14:45:05
【问题描述】:

当使用 css 选择器:has 我只允许放置标签名称等基本属性:

.field:has(input)

但不是:

.field:has(input[type="checkbox"])

这是为什么?我想选择 field 类的元素,而不是输入。

【问题讨论】:

  • 你的意思是 JQuery :has 选择器? Reference
  • @JoshC 同意,这样会更合乎逻辑。
  • @Vucko 不,但它是同一个概念,它是一个 CSS 伪类。
  • @JoshC 我绝对不是这个意思:不,这与我想要的相反。
  • 这绝对不是 CSS 选择器,我不确定你从哪里得到的印象。如果您想谈论特异性,那么无效的选择器根本不算数,因为它不可能匹配,但我认为这不是您所说的“特异性”时的意思。您提到的仅允许简单选择器的规则仅适用于:not(),并不是所有功能性伪类所固有的。

标签: jquery css css-selectors pseudo-class


【解决方案1】:

:has 不是 CSS 中的选择器 - 你说的是 jQuery。

使用:$('.field:has(input[type="checkbox"])');

Working jsFiddle here

【讨论】:

  • 好吧,我真正的意思是,你如何用纯 css 做到这一点?
  • @FengHuo 你不能——这是你唯一的选择。
【解决方案2】:
.field input[type="checkbox"]

可能是这样的?

【讨论】:

  • 我想选择带有类字段的元素。不是元素的输入类型的子元素。我只想选择具有“复选框”类型输入的字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 2019-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多