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

发布于 2024-11-03 02:05:41 字数 259 浏览 1 评论 0原文

以下 Jsoup 语句有效:

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

但等效的语句:

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

无效。

为什么?

Jsoup 是否存在包含空格的类名问题?

The following Jsoup statement works:

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

But the equivalent statment:

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

Doesn't work.

Why?

Does Jsoup have a problem with class names that have spaces?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尾戒 2024-11-10 02:05:41

空格是后代选择器:

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

在第二个示例中,当您将空格放在那里时,您表示另一个元素/类/选择器,而在第一个示例中,您明确地将选择器转换为单个字符串(包括空格)。

A space is a descendent selector:

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

In your second example, when you put the space in there, you're denoting another element/class/selector, whereas in your first example you're explicitly grouping the selector into a single string (including the space).

宁愿没拥抱 2024-11-10 02:05:41

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

属性选择器之所以有效,是因为您选择的是值为 mncls sbuclsclass 属性

Class names can not have a space. It's a CSS Specification, nothing to do with Jsoup. Technically mncls sbucls is two separate classes (mncls and sbucls).

The attribute selector works because you're selecting the class attribute where the value is mncls sbucls

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文