我:contains()
在 Selenium 测试中广泛使用选择器。W3C 规范已将其删除。
我想了解原因,但找不到解释此决定背后原因的文档。看过W3org(伪类最后出现在这个版本中)并搜索了谷歌。
我在哪里可以找到有关对 W3C 规范进行此类更改的原因的信息?
您可能可以在 W3C 邮件列表中找到原因:
https://www.google.com/search?q=site%3Ahttp%3A%2F%2Flists.w3.org%2F+css+contains
有很多关于它的讨论。根据这篇文章,除其他外,它可能与性能问题有关。
:contains()
被删除是因为他们想出了另一个主意。CSS4 允许您使用 .更改整个选择器的主题!
。
因此,如果您想查找文档中包含页脚的所有表格:
!table > tfoot { ... }
这将执行与使用 相同的查找table > tfoot
,但实际受影响的元素将是table
s,而不是tfoot
s。
我不知道他们做出改变的确切原因,但我可以猜到:这对我来说更容易阅读!而且因为你不能嵌套它或将它与:not()
或其他类似的暴行结合起来,浏览器供应商很容易有效地实施。