是否有一个CSS选择器可以将内联样式的元素作为目标?那么我可以定位第一个跨度而不是第二个仅使用CSS?元素内嵌样式元素的CSS选择器?
如果没有,这可以用jQuery来完成吗?
<p style="text-align: center;">
<span>target</span>
</p>
<p>
<span>not target</span>
</p>
是否有一个CSS选择器可以将内联样式的元素作为目标?那么我可以定位第一个跨度而不是第二个仅使用CSS?元素内嵌样式元素的CSS选择器?
如果没有,这可以用jQuery来完成吗?
<p style="text-align: center;">
<span>target</span>
</p>
<p>
<span>not target</span>
</p>
p[style="text-align: center;"] {
color: red;
}
然而,这是丑陋的。
并且失败,除非'style'字符串是* exact *匹配。 –
加上一个大卫的评论。如果该段落具有与其相关的任何其他样式,那么您必须将其包含在CSS声明中。 –
我有一个情况,IE忽略了这样的规则。 – Vlad
使用:
p[style] span {
color: red;
}
有点晚了茶党,但认为我会分享我的解决方案,我发现&使用。
@ simone的答案是完美的,如果你可以完全匹配style属性。但是,如果你需要的目标,可能有它,你可以使用相关的其他内嵌样式内嵌样式属性:
p[style*="text-align:center;"]
“* =”是指“任何地方匹配属性下面的值 值。 “
有关其他选择进一步的参考或更多详细信息,请参阅css-tricks.com这个博客帖子:
紧身在CSS选择
,如果您喜欢将样式应用于特定的规则声明,您还可以使用样式*。这将匹配具有内联样式的所有元素,而不管所应用的值如何。
div[style*="background-image"] {
background-size: cover;
background-repeat: no-repeat;
}
这要看情况。你只关心内联样式属性的存在吗,还是需要通过特定的内联样式来选择?通过仅仅拥有该属性来选择是简单可靠的,但是具有特定的内联样式...并非如此,除非您可以控制标记。 – BoltClock