使用 javascript 将样式值重置为以前的声明

Resetting style values to previous declaration using javascript

本文关键字:声明 javascript 样式 使用      更新时间:2023-09-26

请考虑以下内容

<style type ='text/css'>
   .c1
   {
        opacity:0.3;
   }
</style>

<div class = 'c1' id = 'myDiv'></div>

<script>
   function cssFn()
   {
       document.getElementById('myDiv').style.opacity = 0.8;
   }
   cssFn();
</script>

因此,我使用 javascript 更改了元素的不透明度。我的问题是这个。是否可以使用 javascript 进行样式声明处于非活动状态,并且在类中使用 JavaScript 声明为活动。我不需要

document.getElementById('myDiv').style.opacity = 0.3;

我只需要一个代码,将样式重置为使用样式表声明的样式

我不知道

这是否可以轻松完成。更改 JavaScript 中的样式会在元素上创建内联样式...因此,<div style="opacity: 0.3; ">您可以删除该属性,也可以!important所有内容(不要执行后者)。但是,这两种解决方案都是黑客。

或者,如其他问题中所建议的那样,您可以将该属性设置为 "。这将否定规则并采用样式表规则。

您可以尝试使用 2 个不同的类。

<style type="text/css">
  .c1 {
   opacity: 0.3;
  }
  .c2 {
   opacity: 0.8;
  }
</style>

你可以用javascript做:

 document.getElementByID("myDiv").className = "c1";

或者使用 jQuery :

$("#myDiv").addClass("c1");

将要通过 Javascript 动态添加或删除的样式放在单独的类中,然后在需要时使用 Javascript 或 jQuery 添加/删除该类。

因此,与Andredseixas开始的思路相同:

<style type ='text/css'>
   .c1
   {
     opacity:0.3;
   }
   .c2
   {
     opacity:0.3;
   }
</style>

在你的函数 cssFn 中,使用 jQuery - 执行此操作,而不是通过属性手动更改不透明度:

$("myDiv").addClass("c2");

然后,当你完成淡入逻辑时,使用 jQuery:

$("#myDiv").removeClass("c2");