为什么“div [class = mncls sbucls]”工作而“div.mncls sbucls”不工作?

时间:2011-04-26 02:41:37

标签: html html-parsing jsoup

以下Jsoup语句有效:

 Elements divs = document.select("div[class=mncls sbucls]");

但等效的陈述:

 Elements divs = document.select("div.mncls sbucls");

不起作用。

为什么?

Jsoup是否有带空格的类名有问题?

2 个答案:

答案 0 :(得分:5)

空间是后代选择器:

http://www.w3.org/TR/CSS2/selector.html#descendant-selectors

在你的第二个例子中,当你把空间放在那里时,你表示另一个元素/类/选择器,而在你的第一个例子中,你明确地将选择器分组为一个字符串(包括空格)。 / p>

答案 1 :(得分:1)

班级名称不能有空格。这是一个CSS规范,与Jsoup无关。从技术上讲,mncls sbucls是两个单独的类(mnclssbucls)。

属性选择器有效,因为您选择的值为class的{​​{1}}属性