2

我正在 Railo 中构建一个应用程序,它使用 jSoup .jar 库。这一切都在我的 CFML 语言中运行良好。

无论如何,我可以使用“样式”属性来抓取每个元素:

<cfset variables.mySelection = variables.myDocument.select("*[style]") />

但这会返回一个数组,其中包含有时没有“背景”或“背景图像”样式的元素。例如,HTML 可能如下所示:

<p style="color: red;">I should not be selected</p>
<p style="background: green">I **should** be selected</p>
<p style="text-align: left;">I should not be selected</p>
<p style="background-image: url("/path/to/image.jpg");">I **should** be selected</p>

所以我可以得到上面的这些元素,但我不希望我的数组中的第一个和第三个,因为它们没有背景样式......你知道我怎么只能抓住和使用这些吗?

请注意,我追求 COMPUTATED 样式或任何复杂的样式,我只是想知道是否可以根据内联 CSS 样式的属性进行过滤。也许事后一些正则表达式?我对想法持开放态度!

我试着把弄乱:contains(background)作为一个关键词,但我不确定这是否是正确的路径?

非常感谢您的帮助。迈克尔。

4

2 回答 2

1

尝试:

variables.myDocument.select("*[style*='background']")

*=匹配属性内容中的子字符串的标准选择器一样。

于 2012-11-30T14:25:46.823 回答
0
Elements els = doc.select(div[style*=dashed]);

或者

Elements elements = doc1.select("span[style*=font-weight:bold]");
于 2019-10-18T06:39:40.057 回答