样式

在HTML中定义样式的方式有3种:通过<link/>元素包含外部样式表文件、使用<style/>元素定义嵌入式样式,以及使用style特性定义针对特定元素的样式,“DOM2级样式”模块围绕这3种应用样式的机制提供了一套API,要确定浏览器是否支持DOM2级定义的css能力

var supportsDOM2CSS=document.implementation.hasFeature("CSS","2.0");

访问元素的样式

HTML元素的style对象是CSSStyleDeclaration的实例,包含着行间样式信息,但不包括与外部样式表或嵌入式样式表经层叠而来的样式。在style特性中指定的任何CSS属性都将表现为这个style对象的相应属性。使用短划线(background-image)必须转化为驼峰大小写形式style.backgroundImage。float是JavaScript的保留字,不能用作属性名,“DOM2级样式”规范规定相应的属性名为cssFloat,IE则是styleFloat

取得一个DOM元素的引用,为其设置样式

myDiv.style.width="100px";  //最好始终带单位

“DOM2级样式”规范还为style对象定义了一些属性和方法

cssText:通过它访问到style特性中的代码

length:应用给元素的CSS属性的数量

parentRule:表示CSS信息的CSSRule对象

getPropertyCSSValue(propertyName):返回包含给定属性值的CSSValue对象,这个对象包含两个属性cssText和cssValueType,cssText属性的值与getPropertyValue()返回的值相同,cssValueType属性则是一个数值常量,表示值的类型:0表示继承的值、1表示基本的值、2表示值列表、3表示自定义的值、

getPropertyPriority(propertyName):如果给定属性使用了!important设置,则返回"important",否则,返回空字符串

getPropertyValue(propertyName):返回给定属性的字符串值

item(index):返回给定位置的CSS属性的名称

removeProperty(propertyName):从样式中删除属性,恢复默认样式(应用从其他样式表层叠而来的样式)

setProperty(propertyName,value,priority):将给定属性设置为相应的值,并加上优先权标志("important"或者一个空字符串)

cssText返回浏览器对style特性中CSS代码的内部表示,赋给cssText的值会重写整个style特性的值

myDiv.style.cssText="width:25px;height:30px";

设计length属性的目的,就是将其与item()方法配套使用,for语句遍历style对象集合

计算的样式(只读的)

“DOM2级样式”增强了document.defaultView,提供了getComputedStyle()方法,接收2个参数:要取得计算样式的元素和一个伪元素字符串(例如":after"),如不需要伪元素信息可以为null

getComputedStyle()方法返回一个CSSStyleDeclaration对象,包含当前元素的所有计算后的样式,某些浏览器返回的数据格式可能会不同(红色rgb(255,0,0)),IE不支持这个方法,但有一个类似的currentStyle属性

var style1=myDiv.currentStyle;

alert(style1.width);  //"25px"

JavaScript高级程序设计32.pdf的更多相关文章

  1. JavaScript高级程序设计2.pdf

    第三章 基本概念 区分大小写 ECMAScript中的一切(变量.函数名和操作符)都区分大小写 标识符 指变量.函数.属性的名字或者函数的参数 第一个字符必须是一个字母.下划线或美元符号,其它字符可以 ...

  2. JavaScript高级程序设计61.pdf

    JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...

  3. JavaScript高级程序设计60.pdf

    错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...

  4. JavaScript高级程序设计58.pdf

    15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...

  5. JavaScript高级程序设计57.pdf

    表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...

  6. JavaScript高级程序设计55.pdf

    输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...

  7. JavaScript高级程序设计54.pdf

    过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...

  8. JavaScript高级程序设计53.pdf

    共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...

  9. JavaScript高级程序设计52.pdf

    表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...

随机推荐

  1. JQuery 分页实现

     JQuery分页实现  css: .liList0 { padding-left:5px;}.liList0 li { width:160px; float:left; display:inline ...

  2. js在php 中出现 unterminated string literal 解决方法

    出现这个问题就是空格造成的(可清空格符,换行符等) 示例代码如下: php 下报错 <?php echo "<a href=javascript:if(window.confir ...

  3. H5小内容(一)

    HTML5目前最新的规范(标准)是2014年10月推出   2005年左右出现HTML5版本(非标准)     W3C组织(两个组织定义H5规范)   学习(研究)HTML5是学习未来(将来主流)   ...

  4. PHP学习心得(五)——类型

    简介 PHP 支持8种基本的数据类型. 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: ...

  5. 如何在windows上安装部署设置SVN服务器

    1   一.准备工作 1.SVN服务器:解压缩包,可以从官方网站下载最新版本. 2.SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯. 2 二.安装服务器和客 ...

  6. C语言学习总结(一) 基本语法

    第一章--C语言的基本概念 丹尼斯 里奇 一.什么是C语言? 定义:是一个面向过程的计算机高级语言--不需要任何运行环境便能运行的程序语言: 发展:目前是C11      (K&R C—> ...

  7. jMeter之二

    jMeter应用的最小子集有如下三个概念: 首先是线程组(Thread Group),线程组意味着定义一下多少个线程,多长时间建立起来(模拟增量按照一定频度上扬)以及循环多少次: 第二个是采样器(Sa ...

  8. Swift2.0新特性

    随着刚刚结束的 WWDC 2015 苹果发布了一系列更新,这其中就包括了令人振奋的 Swift 2.0. 这是对之前语言特性的一次大幅的更新,加入了很多实用和方便的元素,下面我们就一起来看看这次更新都 ...

  9. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  10. 使用HttpClient向服务器发送restful post请求

    直接上代码: public class RestClient { public static void main(String[] args) { String url = "http:// ...