2014-07-21 98 views
0

是否有可能获得某些CSS样式属性计算机只从类,而不考虑可能的运行时操作?风格属性只从类

例如:( '项目 ')。

.container{ 
} 

.container .item { 
} 

.container.inactive .item { 
    opacity:0.5; 
} 

通过,比方说,某个地方的项目变化的javascript不透明度为$ 1的CSS(' 不透明',1),但是我需要知道什么是仅仅基于其类而没有运行时修改的某个项目的不透明度。 CSS的结构只是一个例子,不应该考虑检查不透明度。

可能吗?

+0

所以你不想从javascript覆盖你的风格。这样对吗? –

+0

关于运行时操作意味着什么? – chendesheng

+0

为什么你需要找到这个?我问,因为如果你希望恢复到正常状态,你只需通过jQuery设置不透明度即可。 – Ruddy

回答

0

好吧,我想我明白你想要什么。

看看我做的这个小提琴。 div已经有opacity: 0.6;然后当我们点击div它会使div opacity: 0.2;(通过jQuery)。要删除这个,我们可以简单地从div中删除style

HTML:

<div>Click Me</div> 

CSS:

div { 
    width: 100%; 
    height: 50px; 
    background: red; 
    opacity: 0.6; 
} 

的jQuery:

var count = 0; 
$("div").click(function() { 
    if (count == 1) { 

     $(this).removeAttr("style"); 
     count = 0; 
    } else { 

     $(this).css("opacity", "0.2"); 
     count = 1; 
    } 
}); 

Demo Here

这是一个简单的演示,告诉你它是如何工作的。使用.css将内联css,它不会更改样式表。


了解更多关于.csshere

+0

我只需要重置不透明度,购买.css('不透明',“”)做的伎俩。至少在Chrome和Firefox中,谢谢。 – kerby

0

可以知道CSS属性(比如不透明度)使用jQuery像这样的值:

var color = $(".item").css("opacity"); 

或者

var color = $(".container > .inactive > .item").css("opacity"); 
+0

> CSS的结构只是一个例子,不应该考虑检查不透明度。 – kerby

+0

可能有数百个这样的元素,没有明确的ID和其他东西。可能我可以为document.ready中的每个元素使用item.data('formerOpacity',item.css('opacity')),然后执行item.css('opacity',item。数据('前Opacity'),但在我看来这有点矫枉过正。我想找到更有效的解决方案。尤其是,原始不透明度可能会在更早的早期版本初始化中更改 – kerby

+0

如果我理解您的需求正确,则需要计算css属性的值。 – AmanVirdi