是否有一个CSS选择器通过其inline style属性值选择此元素?
<div style='display:block'>...</div>
比如
div[cssAttribute=cssValue]
flmtquvp1#
内联style属性与任何其他HTML属性没有什么不同,可以与子字符串属性选择器匹配:
style
div[style*="display:block"]
然而,正是因为这个原因,它非常脆弱。由于属性选择器不支持正则表达式,因此您只能执行属性值的 * 精确 * 子串匹配。例如,如果您在属性值中的某个位置有空格,如下所示:
<div style='display: block'>...</div>
它不会匹配,除非你改变你的选择器来适应空格。然后它会停止匹配那些不包含空格的值,除非你包含所有的排列,令人作呕。但是如果你正在处理一个文档,其中的内联样式声明本身不太可能改变,你应该没问题。还要注意的是,这根本不是通过DOM中反映的实际指定,计算或使用的值来选择元素。
hrysbysz2#
包括”;“对我来说更好
div[style*="display:block;"]
bfnvny8b3#
始终查看属性在HTML中是如何编写的(您可以在浏览器的Elements选项卡中检查它)。您必须使用完全相同的值。在我的情况下:style="left: 100%;"而不是style="left:100%"之类的
style="left: 100%;"
style="left:100%"
7ivaypg94#
我刚刚签入项目,上面的规则不起作用。只有精确的类描述起作用:[style="display: block;"]也许只是我,但要小心
[style="display: block;"]
4条答案
按热度按时间flmtquvp1#
内联
style
属性与任何其他HTML属性没有什么不同,可以与子字符串属性选择器匹配:然而,正是因为这个原因,它非常脆弱。由于属性选择器不支持正则表达式,因此您只能执行属性值的 * 精确 * 子串匹配。例如,如果您在属性值中的某个位置有空格,如下所示:
它不会匹配,除非你改变你的选择器来适应空格。然后它会停止匹配那些不包含空格的值,除非你包含所有的排列,令人作呕。但是如果你正在处理一个文档,其中的内联样式声明本身不太可能改变,你应该没问题。
还要注意的是,这根本不是通过DOM中反映的实际指定,计算或使用的值来选择元素。
hrysbysz2#
包括”;“对我来说更好
bfnvny8b3#
始终查看属性在HTML中是如何编写的(您可以在浏览器的Elements选项卡中检查它)。您必须使用完全相同的值。在我的情况下:
style="left: 100%;"
而不是style="left:100%"
之类的7ivaypg94#
我刚刚签入项目,上面的规则不起作用。只有精确的类描述起作用:
[style="display: block;"]
也许只是我,但要小心