多类元素选择澄清

时间:2011-09-27 01:59:08

标签: java html-parsing jsoup

假设有几个多类div,如以下HTML所示:

<div class="class_one class_two class_three classfour classfive classsix">

<div class="class_one class_two class_three classfour classfive">

<div class="class_one class_two class_three classfour classsix">

是否有一个Jsoup选择表达式会选择所有3个?

为了澄清,认为“最低共同点”将选择全部3,我尝试了以下内容:

div[class=class_one class_two class_three classfour] 

但是它选择了

另一方面,使用完整的多选语法有效,但它只能选择上述之一,例如:

div[class=class_one class_two class_three classfour classfive classsix]

有没有办法使用 Jsoup select语句选择所有3个?

1 个答案:

答案 0 :(得分:3)

这不是特定于Jsoup,而是特定于CSS。 [attribute=name]选择器执行完全匹配。即使订购也很重要。您想在此处使用.classname选择器。以下应该有效:

Elements divs = document.select("div.class_one.class_two.class_three.classfour");
// ...

请注意,类名的排序与此无关。此选择器选择具有所有给定类名的所有<div>元素。

另见: