私は:contains()
セレクターを Selenium テストで広く使用しています。W3C 仕様では削除されました。
理由を理解したいのですが、この決定の背後にある理由を説明するドキュメントが見つかりませんでした. W3org (疑似クラスはこのバージョンで最後に存在していた) を見て、google を検索しました。
W3C 仕様に加えられたそのような変更の理由に関する情報はどこにありますか?
:contains()
彼らが別のアイデアを思いついたので削除されました。CSS4では、セレクター全体の件名を。で変更!
できます。
したがって、フッターを含むドキュメント内のすべてのテーブルを検索する場合は、次のようにします。
!table > tfoot { ... }
これは、を使用した場合と同じルックアップを実行しますtable > tfoot
が、影響を受ける実際の要素は、table
sではなくtfoot
sになります。
なぜ彼らが変更を加えたのか正確にはわかりませんが、推測できます。私にとってはずっと読みやすいのです。:not()
また、ネストしたり、その他の残虐行為と組み合わせたりすることはできないため、ブラウザベンダーは簡単に効率的に実装できます。
おそらく、W3C メーリング リストで理由を見つけることができます。
https://www.google.com/search?q=site%3Ahttp%3A%2F%2Flists.w3.org%2F+css+contains
それについて多くの議論があります。この投稿によると、とりわけ、パフォーマンスの問題に関係している可能性があります。