ホームページ > ウェブフロントエンド > CSSチュートリアル > 「h3:nth-child(1):contains(\'a\')」 が最初に「a\」を含むものを選択しないのはなぜですか?

「h3:nth-child(1):contains(\'a\')」 が最初に「a\」を含むものを選択しないのはなぜですか?

Susan Sarandon
リリース: 2024-12-10 08:56:13
オリジナル
741 人が閲覧しました

Why Doesn't `h3:nth-child(1):contains('a')` Select the First  Containing

h3:nth-child(1):contains('a') が失敗するのはなぜですか?

最初の要素を選択しようとしましたテキスト「a」を含む h3 要素、セレクター h3:nth-child(1):contains('a') が使用されています。ただし、このセレクターは望ましい結果を生成しません。

説明:

CSS3 セレクター :contains() は標準として実装されていないため、 ではサポートされていません。主要なブラウザ。このセレクターは、特定のテキストを含む要素と一致することを目的としていましたが、その実装では、要素のすべての祖先も一致するため、パフォーマンスの問題が発生しました。

代替ソリューション:

:contains() は利用できないため、代わりのアプローチは次のとおりです。必須:

  • HTML を変更します: HTML 構造を再配置して、目的の h3 要素を別の場所に配置します。
  • jQuery を使用します: jQuery は独自の :contains() セレクターを提供しており、これを次のように使用できます。以下:
$("h3:first").filter(function() {
  return $(this).text().indexOf("a") >= 0;
});
ログイン後にコピー

考慮事項:

  • jQuery および Selenium RC では、:contains() がサポートされていますが、次の理由により予期しない選択が発生する可能性があります。
  • CSS2 セレクター h3:first-child の代わりに使用できます。 h3:nth-child(1) はブラウザのサポートを改善します。

以上が「h3:nth-child(1):contains(\'a\')」 が最初に「a\」を含むものを選択しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート