将HTML元素的样式属性重置为样式表定义的默认值?

时间:2009-12-07 17:40:39

标签: javascript html css dom

CSS代码:

p.myparagraph {
  color: yellow;
}

假设我已将使用<p>类的myparagraph元素的颜色变为红色。有没有办法使用这个类(不限于颜色)将段落的所有样式属性重置为CSS定义的默认值?

5 个答案:

答案 0 :(得分:2)

假设您一直在使用elem.style(其中elem是您元素的DOM对象),请尝试elem.style.cssText=""

答案 1 :(得分:1)

如果您使用的是jQuery,可以使用 toggleClass 切换要删除的课程。

 $("p").click(function () {
      $(this).toggleClass("highlight");
    });

点击此处查看更多内容:http://docs.jquery.com/Attributes/toggleClass#class

答案 2 :(得分:0)

以下代码将使用名称borderParra

进行修改和分类
<script type="text/javascript">
            $(document).ready(function() {
                $(".borderParra").focus(function() {
                    $(this).addClass("blueBorder");
                    $(this).select();
                });
                $(".borderParra").blur(function() {
                    $(this).removeClass("blueBorder");
                });
            });
        </script>

样式

.yellowBorder{ border:1px solid #FC3;}
.blueBorder{ border:1px solid #014165;}

答案 3 :(得分:-1)

不,您必须单独定义所有属性。 CSS知道应用规则(以及以什么顺序),但规则是要更改的属性的白名单,而不是要撤消的黑名单。

我可以问为什么你想要这个吗?

答案 4 :(得分:-1)

如果您枚举HEAD中的对象并尝试查找所有规则,则可能有一种方法可以检查css声明。但我会考虑两种不同的方法之一:

  1. 在更改之前跟踪原始颜色
  2. 不要更改元素的颜色,而是在这些对象上切换css类。添加和删​​除类,并具有影响新类的CSS规则。这允许您轻松覆盖“默认”样式,然后随意取消覆盖。使用JQuery,可以使用toggleClass()
  3. 完成