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

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. Isomorphic JavaScript: The Future of Web Apps

    Isomorphic JavaScript: The Future of Web Apps At Airbnb, we’ve learned a lot over the past few years ...

  2. maven mirror repository

    简单点来说,repository就是个仓库.maven里有两种仓库,本地仓库和远程仓库.远程仓库相当于公共的仓库,大家都能看到.本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用.当你向仓库请 ...

  3. MVC模式在游戏开发的应用

    原地址: http://www.cocoachina.com/gamedev/2012/1129/5212.html MVC是三个单词的缩写,分别为:模型(Model).视图(View)和控制Cont ...

  4. tomcat 常见错误

    1.启动时加载会话错误 Exception loading sessions from persistent storage 处理方法:删除tomcat对应的项目目录下 work/session.se ...

  5. HDU 2846 Repository(字典树,标记)

    题目 字典树,注意初始化的位置~!!位置放错,永远也到不了终点了org.... 我是用数组模拟的字典树,这就要注意内存开多少了,,要开的不大不小刚刚好真的不容易啊.... 我用了val来标记是否是同一 ...

  6. CLIP PATH (MASK) GENERATOR是一款在线制作生成clip-path路径的工具,可以直接生成SVG代码以及配合Mask制作蒙板。

    CLIP PATH (MASK) GENERATOR是一款在线制作生成clip-path路径的工具,可以直接生成SVG代码以及配合Mask制作蒙板. CLIP PATH (MASK) GENERATO ...

  7. POJ 1027 The Same Game(模拟)

    题目链接 题意 : 一个10×15的格子,有三种颜色的球,颜色相同且在同一片内的球叫做cluster(具体解释就是,两个球颜色相同且一个球可以通过上下左右到达另一个球,则这两个球属于同一个cluste ...

  8. vim中如何引用自定义模板文件

    我们在使用vim新建文件时可以引用自定义模板,来避免重复的数据格式处理花费太多时间. 实现方法很简单,只需要2步即可:1. 在.vim/template目录放入自己的模板文件(如shellconfig ...

  9. BestCoder 1st Anniversary($) 1003 Sequence

    题目传送门 /* 官方题解: 这个题看上去是一个贪心, 但是这个贪心显然是错的. 事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的k(k>2), 使得(m-k ...

  10. C语言连接Oracle (转载)

    最近在搞C语言连接Oracle.DB2数据库,现把C连接Oracle的文章总结下: 用C语言连接ORACLE数据库.有两个思路和目的 思路一)本地环境:UBUNTU 7.04,ORACLE 10G目的 ...