全部 android asp.net C/C++ cshap IOS Java javascript nodejs perl php python ruby web容器 其他 前端 数据库 第三方平台 混合式APP 网络 系统 默认分类

笔记《javascript高级程序设计》 第12章 DOM2和DOM3

0 53
DOM2 级核心:在 1 级基础上构建,为节点添加更多方法和属性
DOM2 级视图:为文档定义了基于样式信息的不同视图
DOM2 级事件:说明了如何使用事件和DOM文档交互
DOM2 级样式:如何以编程方式来访问和改变CSS样式信息
DOM2 级遍历和范围:引入了遍历DOM文档和选择其特定部分的新接口
DOM2 级HTML:添加了更多属性、方法和新接口
 
12.1 DOM变化
DOM2 级和3级的目的在于扩展DOM API,满足操作XML的所有需求,同时提供更好的错误处理及特性检测能力。
 
 
12.1.2 其它方面的变化
1.DocumentType 类型变化
新增3个属性:publicID、systemID 表示的是文档类型声明中的两个信息段,在DOM1中无法访问
internalSubset   , 用于访问包含在文档类型声明中的额外定义
 
2.Document 类型的变化
importNode()
用途:从一个文档中取得一个节点,然后将其导入另一个文档。   如果调用appendChild()在不同文档中传入节点会出错
接受两个参数:要复制的节点和一个表示是否复制子节点的布尔值。返回的结果是原来节点的副本,但能够在文档中使用
 
 
3.Node类型的变化
isSupported()
isSameNode()
isEqualNode()
 
4.框架的变化
 
12.2 样式
12.2.1   访问元素的样式
style 可以获取和设置html元素style特性指定的所有样式信息,但不包含与外部样式表或嵌入样式表经层叠而来的样式。
对于使用短划线的css属性名,必须将其转换为驼峰大小写形式
 
1.DOM样式属性和方法
在提供元素 的style特性值时,也可修改样式
 
cssText:访问style特性中的css代码(写入模式,以前通过style设定的样式信息全将丢失)
length:应用给元素的css属性的数量
parentRule:表示CSS信息的CSSRule对象
getPropertyCSSValue(propertyName):返回包含给定属性值的CSSValue对象
getPropertyPriority(propertyName):如果给定的属性使用了!important设置,则返回 “important”,否则,返回空
gePropertyValue(propertyName):返回给定属性的字符串值
item(index):返回给定位置的css属性的名称
removeProperty(propertyName):从样式中删除给定属性
setProperty(propertyName,value,priority):将给定属性设置为相应的值,并加上优先权标志( !important  或   一个空字符串)
 
 
2.计算的样式
 
  • document.defaultView.getComputedStyle(mydiv,:after / null) —— 此方法在IE9 以下浏览器中无法生效
接受两个参数,1 要取得计算样式的元素   ,  2 一个伪元素字符串 :after,:before,或者为null
 
  • 在IE8及以下中可使用  .currentStyle  属性,来获取当前元素的样式
 
兼容性最好求取元素所有样式列表的方法
 var computedStyle = window.getComputedStyle?document.defaultView.getComputedStyle(myDiv, null):myDiv.currentStyle;
 
以上方法计算出的样式都是只读,不能修改。
包含属性浏览器内部所有样式信息,任何具有默认值的css属性都会表现在计算后的样式中。部分为浏览器为  visibility,部分为 visible  ,有的则为  inherit 
 
 
12.2.2  操作样式表
styleSheets  遍历 styleSheets 循环可以获取当前页面通过 link 包含的样式表和 style 元素定义的所有样式表。以下属性可以对样式表进行获取或者设置操作:
 
disabled:表示样式是否被禁用的布尔值。可读 / 写,true表示禁用
href:如果样式表通过 link 包含,则返回样式表的URL,否则为null
 
 
 
 
1. css规则。 cssStyleRule 对象包含下列属性
 

热忱回答0

  • 加入年费大会员(20每年)
  • 热门标签

    猜你喜欢

    1. 基于 debootstrap 和 busybox 构建 mini ubuntu
    2. 使用动态内置的JSON 数据源
    3. jQuery实践-网页版2048小游戏
    4. Ionic2开发笔记(2)创建子页面及其应用
    5. Google中Gson的使用解析json数据-------学习篇
    6. ExtJS6 TreePanel树节点合上展开显示不同图标
    7. Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式
    8. JS的运算问题……
    9. JavaScript高级程序设计(第3版)学习笔记1——概述
    10. JavaScript中值类型和引用类型的区别

    衣食父母

    最近热帖

    1. 谈谈英语学习(2):英语的好处 2
    2. 计算机程序的思维逻辑 (76) - 并发容器 - 各种队列 4
    3. 期待微软平台即服务技术Service Fabric 开源 8
    4. 使用Docker容器来源码编译etcd 9
    5. 深入理解Spring中bean的生命周期 7
    6. C++实现四叉树 7
    7. 关于计算机中时间的科普和八卦 7
    8. NIO(四、Selector) 9
    9. 使用cmd命令打开Python文件式程序方法 9
    10. Tcl与Design Compiler (六)——基本的时序路径约束 9

    随机文章

    1. 微信开发之Author网页授权
    2. easyUI参数传递Long型时,前台解析出错的问题。
    3. for与break的用法
    4. cookie方法封装及cookie缺点分析
    5. Android指纹识别深入浅出分析到实战(适配6.0以下系统解决方案)