ホームページ >バックエンド開発 >PHPチュートリアル >XPath を使用して CSS クラスを正確に選択するにはどうすればよいですか?

XPath を使用して CSS クラスを正確に選択するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-06 04:35:11751ブラウズ

How Can I Accurately Select CSS Classes Using XPath?

XPath を使用した CSS クラスの選択: 総合ガイド

課題

XPath にはネイティブの同等のクラスがないため、XPath を使用した CSS クラスの選択には独特の課題が生じますCSSクラスセレクターに。この記事では、この問題の複雑さを調査し、効率的な解決策を提供します。

間違った方法: //*[@class="foo"] を使用する

XPath セレクターと等しいクラスは選択に失敗します複数のクラスを持つ要素、またはクラス名の前後の空白。

間違った方法: クラス//*[contains(@class, "foo")] のような Contains

セレクターは、要素を foobar などのクラスと一致させますが、これは正しくありません。

正しい方法: Normalize-Space と Contains

特定のクラスを持つ要素を正確に選択するために、XPath は以下を利用します。 selector:

//*[contains(concat(" ", normalize-space(@class), " "), " foo ")]
  • normalize-space() は先頭と末尾の空白を削除します。
  • concat() はクラス属性値の前後にスペースを追加します。
  • contains() は、連結された文字列にターゲットが含まれているかどうかを確認しますclass.

等価性とさらなる影響

提供される XPath セレクターは、ターゲットを含むクラスと要素を照合する CSS セレクター *[class~="foo"] と同等です。クラス。これらのニュアンスを理解することは、XPath の熟練度にとって非常に重要です。

以上がXPath を使用して CSS クラスを正確に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。