Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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 是否将HTML元素的样式属性重置为样式表定义的默认值?_Javascript_Html_Css_Dom - Fatal编程技术网

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

Javascript 是否将HTML元素的样式属性重置为样式表定义的默认值?,javascript,html,css,dom,Javascript,Html,Css,Dom,CSS代码: p.myparagraph { color: yellow; } 假设我已将使用myparagration类的元素的颜色改为红色。是否有办法将使用此类(不限于颜色)的段落的所有样式属性重置为CSS定义的默认值?否,您必须单独定义所有属性。CSS知道应用规则(以及以什么顺序),但规则是要更改的属性的白名单,而不是要撤消的内容的黑名单 我可以问一下您为什么要这样做吗?不,您必须单独定义所有属性。CSS知道应用规则(以及以什么顺序),但规则是要更改的属性的白名单,而不是要撤消的内容

CSS代码:

p.myparagraph {
  color: yellow;
}

假设我已将使用
myparagration
类的
元素的颜色改为红色。是否有办法将使用此类(不限于颜色)的段落的所有样式属性重置为CSS定义的默认值?

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


我可以问一下您为什么要这样做吗?

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


我可以问一下您为什么要这样做吗?

如果您使用的是jQuery,您可以使用切换类来切换要删除的类

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

在这里查看更多内容:

如果您使用jQuery,可以使用切换类来切换要删除的类

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

请在此处查看更多内容:

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

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

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

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

  • 下面的代码将修改并使用borderParra名称初始化

    <script type="text/javascript">
                $(document).ready(function() {
                    $(".borderParra").focus(function() {
                        $(this).addClass("blueBorder");
                        $(this).select();
                    });
                    $(".borderParra").blur(function() {
                        $(this).removeClass("blueBorder");
                    });
                });
            </script>
    

    下面的代码将修改并使用borderParra名称初始化

    <script type="text/javascript">
                $(document).ready(function() {
                    $(".borderParra").focus(function() {
                        $(this).addClass("blueBorder");
                        $(this).select();
                    });
                    $(".borderParra").blur(function() {
                        $(this).removeClass("blueBorder");
                    });
                });
            </script>
    

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

    即使是jquery也需要知道要重置的类/样式。即使是jquery也需要知道要重置的类/样式。