为了账号安全,请及时绑定邮箱和手机立即绑定

内联样式属性的CSS选择器

内联样式属性的CSS选择器

米脂 2019-09-03 15:28:48
是否有CSS选择器通过其内联样式属性值选择此元素?<div style='display:block'>...</div>就像是div[cssAttribute=cssValue]
查看完整描述

3 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

内联style属性与任何其他HTML属性没有区别,可以与子字符串属性选择器匹配:


div[style*="display:block"]

正是出于这个原因,它非常脆弱。由于属性选择器不支持正则表达式,因此只能执行属性值的精确子字符串匹配。例如,如果属性值中有某个空格,如下所示:


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

在您更改选择器以容纳空间之前,它将不匹配。然后它将停止匹配不包含空格的值,除非您包含所有排列,并且令人作呕。但是如果你正在处理一个内联样式声明本身根本不可能改变的文档,你应该没问题。


还要注意,这根本不是按DOM中反映的实际指定,计算或使用的值来选择元素。这是不可能的CSS选择器。


查看完整回答
反对 回复 2019-09-03
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

包含 ”;” 对我来说效果更好。


div[style*="display:block;"] 


查看完整回答
反对 回复 2019-09-03
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 1178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信