Согласно этому ответу :
HTML 4.01 указывает, что элементы могут содержать только встроенные элементы. является блочным элементом, поэтому он может не отображаться внутри
.
Но ...
HTML5 позволяет элементам содержатьблоков.
Я только что попытался выбрать <div class="m">
в блоке <a>
, используя:
Elements elems = a.select("m");
, и elmes возвращается пустым, несмотря на то, что div там.
Поэтому я думаю: либо я не использую правильный синтаксис для выбора div внутри a, либо ... Jsoup не поддерживает эту функцию только для HTML5?
Что такоеПравильный синтаксис Jsoup для выбора div
в a
?
Обновление : Я только что попробовал
Elements elems = a.getElementsByClass("m");
И у Jsoup не было проблем с ним (т.е.он возвращает правильное количество таких div в пределах a).
Итак, мой вопрос сейчас: почему?
Почему a.getElementsByClass("m")
работает, а a.select("m")
не работает?
Обновление : Я только что попробовал, согласно предложению @Delan Azabani:
Elements elems = a.select(".m");
, и это сработало.Так что в основном a.select()
работает, но мне не хватало .
перед именем класса.