内联样式属性的CSS选择器

是否有CSS选择器通过其内联样式属性值选择此元素?


<div style='display:block'>...</div>

就像是


div[cssAttribute=cssValue]


米脂
浏览 1179回答 3
3回答

富国沪深

内联style属性与任何其他HTML属性没有区别,可以与子字符串属性选择器匹配:div[style*="display:block"]正是出于这个原因,它非常脆弱。由于属性选择器不支持正则表达式,因此只能执行属性值的精确子字符串匹配。例如,如果属性值中有某个空格,如下所示:<div style='display: block'>...</div>在您更改选择器以容纳空间之前,它将不匹配。然后它将停止匹配不包含空格的值,除非您包含所有排列,并且令人作呕。但是如果你正在处理一个内联样式声明本身根本不可能改变的文档,你应该没问题。还要注意,这根本不是按DOM中反映的实际指定,计算或使用的值来选择元素。这是不可能的CSS选择器。

梵蒂冈之花

包含 ”;” 对我来说效果更好。div[style*="display:block;"]&nbsp;

蓝山帝景

我将举例说明何时有用。我正在写一个Selenium Web Driver测试,并且不会/不想改变测试中的实际代码。我需要通过样式显示来识别特定的自动完成(有几个隐藏),因为代码不提供唯一的id或父结构 - 它们可能被转储到回调中的<body>。但是,是的,就像你指出的那样脆弱。
打开App,查看更多内容
随时随地看视频慕课网APP