以下 Jsoup 语句有效:
Elements divs = document.select("div[class=mncls sbucls]");
但等价的说法:
Elements divs = document.select("div.mncls sbucls");
不工作。
为什么?
Jsoup 对有空格的类名有问题吗?
以下 Jsoup 语句有效:
Elements divs = document.select("div[class=mncls sbucls]");
但等价的说法:
Elements divs = document.select("div.mncls sbucls");
不工作。
为什么?
Jsoup 对有空格的类名有问题吗?
空格是后代选择器:
http://www.w3.org/TR/CSS2/selector.html#descendant-selectors
在您的第二个示例中,当您将空格放在那里时,您表示另一个元素/类/选择器,而在您的第一个示例中,您将选择器显式分组为单个字符串(包括空格)。
类名不能有空格。这是一个 CSS 规范,与 Jsoup 无关。从技术上讲mncls sbucls
是两个独立的类(mncls
和sbucls
)。
属性选择器有效,因为您正在选择class
值所在的属性mncls sbucls