27

是否有 CSS 选择器来定位具有内联样式的元素?那么我可以只使用 CSS 来定位第一个跨度而不是第二个跨度吗?

如果没有,这可以用 jQuery 完成吗?

http://jsfiddle.net/TYCNE/

<p style="text-align: center;">
    <span>target</span>
</p>

<p>
    <span>not target</span>
</p>
​
4

4 回答 4

45

茶会有点晚了,但我想我会分享我找到并使用的解决方案。

如果您可以完全匹配样式属性,@simone 的答案是完美的。但是,如果您需要定位可能具有与之关联的其他内联样式的内联样式属性,您可以使用:

p[style*="text-align:center;"]

“*=”表示“在属性值的任意位置匹配以下值”。

有关其他选择器的更多参考或更多详细信息,请参阅 css-tricks.com 上的此博客文章:

CSS 选择器上的 Skinny

http://css-tricks.com/attribute-selectors/#rel-anywhere

于 2013-03-29T06:34:52.367 回答
24
p[style="text-align: center;"] {
  color: red;
}

然而,这很丑陋。

于 2013-01-03T13:19:35.433 回答
8

如果您想将样式应用于特定的规则声明,您也可以使用 style*。这将匹配所有具有内联样式的元素,而不管应用的值如何。

div[style*="background-image"] {
  background-size: cover;
  background-repeat: no-repeat;
}
于 2015-08-25T01:15:58.667 回答
2

利用 :

​p[style] span {
  color: red;   
}​
于 2013-01-03T13:18:50.450 回答