我试图通过类名来获取一些元素。这是HTML文件:
<div id="container">
<div id="page_clips">
<div id="content" class="margin-right-5">
<div class="product-grid margin-left-5">
<div>.....</div>
<div>.....</div>
<div>.....</div>
</div>
</div>
</div>
</div>
在这里,我想得到的是具有class =“ product-grid margin-left-5”的div。
这是我的工作:
Document doc = Jsoup.connect(link).get();
Element page_clips = doc.getElementById("page_clips");
Element page_clip_content = page_clips.getElementById("content");
这段代码成功获取了ID为“ content”的div。然后当我尝试时
Elements elementsIWantToGet= page_clip_content.getElementsByClass("product-grid margin-left-5");
它返回空。我究竟做错了什么?该div的class属性的名称不是“ product-grid margin-left-5”吗?有人可以帮忙吗?
谢谢
最佳答案
因为getElementsByClass
不支持多个类名。通过给它"product-grid margin-left-5"
,您是否意味着要找到两个类的所有元素?还是任何一类?
无论哪种方式,请使用select
,它接受CSS选择器:
对于同时具有两个元素的元素:
.. = page_clip_content.select(".product-grid.margin-left-5");
对于具有以下任一条件的元素:
.. = page_clip_content.select(".product-grid, .margin-left-5");