次のJsoupステートメントが機能します。
Elements divs = document.select("div[class=mncls sbucls]");
しかし、同等のステートメント:
Elements divs = document.select("div.mncls sbucls");
動作しません。
なんで?
Jsoupには、スペースを含むクラス名に問題がありますか?
次のJsoupステートメントが機能します。
Elements divs = document.select("div[class=mncls sbucls]");
しかし、同等のステートメント:
Elements divs = document.select("div.mncls sbucls");
動作しません。
なんで?
Jsoupには、スペースを含むクラス名に問題がありますか?
スペースは子孫セレクターです。
http://www.w3.org/TR/CSS2/selector.html#descendant-selectors
2番目の例では、そこにスペースを入れると、別の要素/クラス/セレクターを示しますが、最初の例では、セレクターを1つの文字列(スペースを含む)に明示的にグループ化します。
クラス名にスペースを含めることはできません。これはCSS仕様であり、Jsoupとは関係ありません。技術的mncls sbucls
には、2つの別個のクラス(mncls
およびsbucls
)です。
値class
がmncls sbucls