Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅来自类的样式属性_Javascript_Jquery_Css_Class_Styles - Fatal编程技术网

Javascript 仅来自类的样式属性

Javascript 仅来自类的样式属性,javascript,jquery,css,class,styles,Javascript,Jquery,Css,Class,Styles,是否可以只从类中获取特定css样式的属性计算机,而不考虑可能的运行时操作 例如: .container{ } .container .item { } .container.inactive .item { opacity:0.5; } 在javascript中的某个地方,项目的不透明度通过,比如说,$('.item').css('opacity',1)更改为1,但是我需要知道某个项目在没有运行时修改的情况下,仅基于其类的不透明度是什么。css的结构只是一个例子,在检查不透明性时不

是否可以只从类中获取特定css样式的属性计算机,而不考虑可能的运行时操作

例如:

.container{
}

.container .item {
}

.container.inactive .item {
    opacity:0.5;
}
在javascript中的某个地方,项目的不透明度通过,比如说,$('.item').css('opacity',1)更改为1,但是我需要知道某个项目在没有运行时修改的情况下,仅基于其类的不透明度是什么。css的结构只是一个例子,在检查不透明性时不应该考虑它


有可能吗?

使用jQuery可以知道CSS属性的值(比如不透明度),如下所示:

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


好的,我想我明白你想要什么

看看我做的这把小提琴。
div
已具有
不透明度:0.6
然后当我们点击
div
时,它将使div
不透明度为0.2(通过jQuery)。要删除它,我们只需从
div
中删除
样式

HTML:

<div>Click Me</div>
div {
    width: 100%;
    height: 50px;
    background: red;
    opacity: 0.6;
}
var count = 0;
$("div").click(function () {
    if (count == 1) {

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

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

<div>Click Me</div>
div {
    width: 100%;
    height: 50px;
    background: red;
    opacity: 0.6;
}
var count = 0;
$("div").click(function () {
    if (count == 1) {

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

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

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



了解有关
.css

的更多信息,这样您就不想从javascript覆盖样式。这是对的吗?运行时操作的含义是什么?为什么需要找出这一点?我这样问是因为如果你想让它恢复正常,你只需要去掉通过jQuery设置的不透明度。如果它只是几个元素,你总是可以存储原始状态,但我知道这可能会很快变得很难处理。@Ruddy是的,我需要删除在运行时通过.css('opacity',xxx)所做的任何更改,但我不知道怎么做。我猜,.css('opacity','')可以完全清除不透明度,但如果它在类中是0.5呢?>css的结构只是一个例子,不应该考虑检查不透明度。可能有数百个这样的元素,没有清晰的ID和其他东西。可能我可以为document.ready上的每个元素使用一些item.data('formerOpacity',item.css('opacity')),然后执行item.css('opacity',item.data('formerOpacity'))需要时,但我认为这有点过头了。我希望找到更有效的解决方案。特别是,原始的不透明度可以在更早的时候更改。准备初始化如果我正确理解您的需要,您希望计算css属性的值。类似这样的内容:Lorem ipsum Fiddy boing bum dfg dsfgasdf fgLorem ipsum fiddy boing bum dfg dsfgasdf fg asdfas.Lorem ipsum fiddy boing bum dfg dsfgasdf fg asdfas.我只需要重置不透明度,buy.css('opacity',“”)就可以了。至少在chrome和firefox中,谢谢。