HTML 4.01 规定 <a> 元素只能包含内联元素。<div> 是块元素,因此它可能不会出现在 <a> 中。
但...
HTML5 允许 <a> 元素包含块。
好吧,我只是尝试<div class="m">
在一个<a>
块中选择一个,使用:
Elements elems = a.select("m");
并且 elmes 返回空,尽管 div 在那里。
所以我在想:要么我没有使用正确的语法在 a 中选择 div,要么...... Jsoup 不支持这个仅限 HTML5 的功能?
在 中选择 a 的正确 Jsoup 语法是div
什么a
?
更新:我刚试过
Elements elems = a.getElementsByClass("m");
Jsoup 对此没有任何问题(即它在 a 中返回正确数量的此类 div)。
所以我现在的问题是:为什么?
为什么a.getElementsByClass("m")
有效而a.select("m")
无效?
更新:根据@Delan Azabani 的建议,我刚刚尝试过:
Elements elems = a.select(".m");
它奏效了。所以基本上是a.select()
作品,但我错过.
了类名前面的。