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

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. Delphi的Socket编程步骤

    ClientSocket 和ServerSocket几个重要的属性:   1.client和server都有port属性,需要一致才能互相通信   2.client有Address属性,使用时填写对方 ...

  2. jQuery实现表格隔行换色且感应鼠标高亮行变色

    jQuery插件实现表格隔行换色且感应鼠标高亮行变色 http://www.jb51.net/article/41568.htm jquery 操作DOM的基本用法分享http://www.jb51. ...

  3. POJ 2013

    #include <iostream> #include <string> #define MAXN 20 using namespace std; string _m[MAX ...

  4. POJ 1940

    #include <iostream> #include <iomanip> #define MAXN 1000 using namespace std; struct nod ...

  5. 重载和覆盖的区别?(overload vs override)

    override与overload的区别? override 表示重写,overload 表示重载.override是子类和父类之间的关系,是垂直关系:overload是同一个类中方法之间的关系,是水 ...

  6. SOLID 原则

     世纪的前几年里,“ Uncle Bob”Robert Martin 引入了用OOP 开发软件的五条原 则,其目的是设计出更易于维护的高质量系统.无论是设计新应用程序,还是重构现有基 本代码,这些 S ...

  7. hdu 3886 Final Kichiku “Lanlanshu” 数位DP

    思路: dp[i][j][k]:满足在字符串的j位,前一位数字是k. 代码如下: #include<iostream> #include<cstdio> #include< ...

  8. BZOJ 1452: [JSOI2009]Count 二维树状数组

    1452: [JSOI2009]Count Description Input Output Sample Input Sample Output 1 2 HINT Source 题解:设定C[101 ...

  9. poj 3159(差分约束经典题)

    题目链接:http://poj.org/problem?id=3159思路:题目意思很简单,都与给定的条件dist[b]-dist[a]<=c,求dist[n]-dist[1]的最大值,显然这是 ...

  10. QAQ OI生涯の最后一个月

    QAQ 总觉得自己要做点什么 可是并不知道去做些什么 QAQ 先挖一些坑吧,不管怎么样,把这些坑填完估计NOI也就无憾了 1.读完13-16的论文 QAQ 2.做完12-16的POI  QAQ 3.做 ...