CSS选择器匹配style属性中的某个值

时间:2015-06-04 05:31:42

标签: css

如何为具有指定内联样式的元素编写css选择器?

例如:

<div style="top: 0; left: 0;">link1</div>
<div style="left:3px; top:0;">link2</div>
<div style="top:3px; left:0;">link3</div>

然后,我想选择link1link2,因为他们都有top:0

我不确定是否应该在div[style*="top: 0"]中放置一个空格。如何设置样式属性?浏览器会自动以任何格式格式化字符串吗?

为什么我需要这个:我知道基于style属性查询元素不是一个好主意。但我正在编写用户风格,而我无法修改html页面或javascript。网页仅在事件触发时修改了样式属性。

1 个答案:

答案 0 :(得分:1)

既然你提到你无法改变HTML,你可以采用一种hacky方式来解决这两种情况,我猜:

div[style*="top: 0"], div[style*="top:0"] {
    /* styles here */
}

如果你愿意,另一种方法是使用JS / jQuery。

jQuery示例:

$('div').filter(function() {
  return parseInt($(this).css('top')) == 0;
}).addClass("yourNewClass");

编辑:没有注意到您提到您也无法通过JavaScript更改页面,但是,请保留此内容以防万一。