在我们编写网页的时候,样式表示我们常常需要相伴的内容,谁然很招人烦。恕我前端菜鸟对这东西很是无力啊。下面是我在代码浪潮中的虚席到的一些东西。

1、样式表内容修改方式。

2、当前元素样式内容获取。

3、document.styleSheets内容。

1.首先我们从最简单的开始,样式表修改。

  我们在编写网页的时候通常需要对元素进行一些显示样式内容的修改,这是我们其实是有许多种方法的。

  one: 改变元素style属性。 首先我们可以直接通过元素的elem.setAttribute("style", content);的方式,直接的修改当前的元素的style属性中的内容。style属性是所有的元素通用的属性,标示的是当前的元素显示样式的设置,而且优先级是最高的。所以通过直接修改Style中的内容将会是一种很直接有效的方式。

   Two:改变元素class属性。 其次我们可以使用的也是改变元素的属性值的方式,当时此次改变的是class属性的值,当我们在使用的样式表代码中预先编写好可能的元素的样式,然后通过改变class中的内容以达到改变当前的元素样式的需求。当然对于当前的方式来说,如果你同时改变了style中的样式的话,style种的内容将会优先显示。

  Three:使用element.style参数进行样式修改。 element.style获取的是当前元素style属性种最终显示的内容。其内容其实就是获取了style属性种的内容的一个集合。但是JS把它视为一个元素的属性,并且作为一项内容放置在element对象中。element.style读取获取的数据是CSS样式声明对象([object CSSStyleDeclaration])。但是它是可读写的。当我们使用这样的方法改变当前的元素样式的时候,我们可以通过element.style.backgroundImage这样的方式来设置想要改变的样式的内容。并且其达到的效果和第一条种的效果是相同的。

2.当前元素的样式信息的获取。

  我们有时需获取某医院苏的样式表的信息,并使用其中的信息进行计算或是判断。

  one:element.style。 在第一条第三项中我们提到过。这一属性返回的是一个CSS样式声明对象([object CSSStyleDeclaration]),但是是可读可写的。并且其中的内容是当前元素style中的内容。所以只有当我们需要使用的是style种的属性的话,我们使用这样的方式是可以很方便的一种方式。

  two:window.getComputerStyle。 我们可以通过使用window对象中的getComputerStyle来进行获取当前元素的最终显示的全部样式的集合。其方法种有两个参数,参数一是需要获取样式的元素对象,第二个参数是伪类,如果输入了这一参数,则返回的内容变成了相关元素的对应伪类的样式对象了。在jquery种我们可以使用CSS()方法来进行样式的内容获取。

document.defaultView.getComputedStyle //jquery中的css()方法的源代码啊

由上可见其使用的是document.defaultView这个属性指代的其实就是window对象。

在MDN中其对于这一使用的总结是:In browsers, document.defaultView returns the window object associated with a document, or null if none available. 翻译过来就是,在浏览器中,document.defaultView返回的是与文档有关联的window对象,或者是null如果没有可用的话。具体为什么有了window之后还要这样一个参数,完全不知道啊。一脸懵逼ing。

3.document.styleSheets内容介绍。

  对于document对象中会有另一个属性可以获取样式,即styleSheets属性。

  styleSheets属性返回的是styleSheetsList数组列表。并且这一属性只有document才有。一般的元素对象是没有的。MDN给出的定义是:

  The Document.styleSheets read-only property returns a StyleSheetList of CSSStyleSheet objects for stylesheets explicitly linked into or embedded in a document.而且在于chrome中显示的内容是:

由上图可见其中的每一个CSSStyleSheet对象都是一个使用link导入的CSS延时文件。

我们先来看一看CSSStyleSheet的相关内容吧。

由上图可以得出,其实CSSStyleSheet是继承了StyleSheet的,其中的主要的内容有:

cssRules属性,它是一个CSSRulesList数组,其中每一个元素都是CSSStyleRule对象。

由上图可见,其实CSSStyleRule对象中的cssText属性所存储的内容就是我们编写的CSS文件中的内容。实际上document.styleSheets传递回来的其实是一个当前页面的样式内容的集合。

存储了所有的样式的内容。

上面几点是我在平时的学习过程种所见和所想,如有错误的话望帮忙指出,那么就先到这里吧。十分感谢。

JS 样式操作学习总结。的更多相关文章

  1. 第十八课:js样式操作需要注意的问题

    样式分为,外部样式(<link />),内部样式(<style></style>),行内样式(style:).再加上一个important对选择器权重的干扰. 大体 ...

  2. dojo/dom-style样式操作学习笔记

    基础总结 一个元素的样式信息由三个来源根据层叠规则确定.三个来源分别是: 由DOM元素style特性设置的内联样式 由style元素中嵌入的样式规则 由link元素引入的外部样式表 元素的样式 任何支 ...

  3. 深入学习jQuery样式操作

    × 目录 [1]设置样式 [2]增加样式 [3]删除样式[4]切换样式[5]判断样式[6]样式操作 前面的话 使用javascript脚本化CSS是一个系列,包括行间样式.计算样式.CSS类.样式表. ...

  4. js css样式操作代码(批量操作)

    js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09   用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率.   ...

  5. jQuery学习之旅 Item3 属性操作与样式操作

    本节将Dom元素的操作:属性操作.样式操作.设置和获取HTML,文本和值.Css-Dom操作. 1.属性操作 <input type="text" name="us ...

  6. DOM样式操作

    CSS 到 DOM的抽象 通过操作 CSS 对应的 DOM对象来更新CSS样式 换肤操作 如何获取实际的样式(不仅有行内,更有页面和外联样式表中定义的样式) 样式表分为三类: 外联,页面,行内 内部样 ...

  7. jQuery 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each、data、Ajax

    jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方 ...

  8. 解密jQuery内核 样式操作

    基础回顾 jQuery里节点样式读取以及设置都是通过.css()这个方法来实现的,本章通一下分解探究下jquery里这部分代码的实现 那么jQuery要处理样式的哪些问题? 先简单回顾下样式操作会遇到 ...

  9. JQuery_元素样式操作

    元素样式操作包括了直接设置CSS 样式.增加CSS 类别.类别切换.删除类别这几种操作方法.而在整个jQuery 使用频率上来看,CSS 样式的操作也是极高的,所以需要重点掌握.  一.css()方法 ...

随机推荐

  1. CSS Hack大全-可区分出IE6-IE10、FireFox、Chrome、Opera

    今天把一些常用的CSS Hack整理了一下,包括常用的IE hack以及火狐.Chrome.Opera浏览器的Hack,并把这些CSS Hack综合的一起,写了一个小的浏览器测试器.如图所示: 下面就 ...

  2. C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config is not valid and cannot be loaded.

    Recently, we experienced a strange problem with TFS 2010. We spent a few days before we figured it o ...

  3. POJ 2023 Choose Your Own Adventure(树形,dfs,简单题)

    题意: 输入一个整数n,表示有n组测试数据, 每组第一行输入一个整数x表示该组测试一共有x页,接下来输入x行,每行表示一页, 每页或者以C开头(第一页都是以C开头),或者以E开头,中间用引号括起一段文 ...

  4. Webpack+React配合开发

    前面两篇关于webpack的基础和进阶,请先务必阅读之前的文章. Webpack教程一 Webpack教程二 什么是React React是一个由Facebook开发的library,它的口号是“A ...

  5. android 启动adb

    1.命令行进入 sdk/platform-tools 2.执行命令 adb kill-server 3.执行命令 adb start-server

  6. ZOJ 1610 Count the Colors (线段树区间更新)

    题目链接 题意 : 一根木棍,长8000,然后分别在不同的区间涂上不同的颜色,问你最后能够看到多少颜色,然后每个颜色有多少段,颜色大小从头到尾输出. 思路 :线段树区间更新一下,然后标记一下,最后从头 ...

  7. HDU4003 Find Metal Mineral 树形DP

    Find Metal Mineral Problem Description Humans have discovered a kind of new metal mineral on Mars wh ...

  8. IDTHook 深入学习

    在之前的一篇文章中介绍了替换IDT向量表中的地址来达到Hook的目的 IDT hook KiTrap03 但是这样很容易就可以被检测了.接下来要学习就是通过patch GDT来达到Hook IDT的目 ...

  9. 使用dnsmasq快速搭建内网DNS

    背景介绍公司有一批测试服务器,之间希望通过自定义的域名进行访问,这样比较方便,但每个人每台机器都维护一个hosts的话会非常麻烦,于是想搭建一个内部的DNS服务器,对自定义的域名进行解析,同时缓存公网 ...

  10. Java 常用数据结构深入分析(Vector、ArrayList、List、Map)

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以 ...