2015-05-13 63 views
0

我想知道在CSS中是否有支持的方法来检查属性的值是否等于另一个属性的值。例如:CSS值等于另一个值

<div foo="value" bar="value"></div> 

我要寻找类似这种先进的选择

div[foo=value][bar=value] { 
    font-size:16px; 
} 

不用手动检查每一个有价值的东西,我期待只是看他们画上等号,所以像

div[foo]==[bar] { 
    font-size:16px; 
} 

我不知道有什么办法可以做到这一点,也没有找到任何方法搜索Googlebox。我怀疑Javascript可能是要走的路

有没有任何支持的方法来检查这个?

回答

3

在CSS中没有这样的选项。你不能等同其他元素的属性值。你唯一能做的就是在服务器端语言上使用JavaScript/jQuery或其他东西。

实施例(jQuery的):

if($('div.example').attr('foo') === $('div.example').attr('bar')) { 
    $('div.example').css('fontSize', '16px'); 
} 
+1

这就是我所想要的,只是检查是否有一些最简单的选择器。谢谢! –

+0

@BryanZwicker没问题。乐意效劳 ;)。 –

+0

@BryanZwicker而且,你可以改正你的问题的正确答案;)。谢谢。 –

1

CSS只有不会帮助在这里,您可以使用JavaScript和数据标签

https://jsfiddle.net/2weeqc42/

<div data-foo="foo" data-bar="foo">div content 1</div> 
<div data-foo="foo" data-bar="bar">div content 2</div> 

2的div数据标签 - 在DIV 1的值是相同

$('div').each(function(){ 
    if ($(this).data("foo") === $(this).data("bar")){ 
     $(this).css("color","red"); // or do something else 
    } 
}) 

我通过div循环并检查数据标签的内容是否相同 - 只有第一个颜色为红色

相关问题