javascript高级程序设计 第十一章--DOM扩展

          javascript高级程序设计 第十一章--DOM扩展
DOM最主要的扩展就是选择符API、HTML5和Element Traversal
  Selectors API:定义了两个方法 querySelector() 和 querySelectorAll(),能够基于CSS选择符从DOM中取得
元素。querySelector()方法接收一个CSS选择符,返回该模式匹配的第一个元素,querySelectorAll()接收的参
数一样,但是返回NodeList实例; matchesSelector()方法返回布尔值。 元素遍历:处理元素间的空格或者空
白文本节点
  Element Traversal :为DOM元素定义了额外的属性,能够方便地从一个元素跳到另一个元素。
  HTML5:为标准的DOM定义了很多的扩展功能。与类相关的扩充:新增了getElementsByClassName()方法,
返回与类名匹配的所有元素,新增了操作类名的classList属性,用于添加、删除或替换类名。
  焦点管理: document.activeElement属性,这个属性始终会引用DOM中当前获得了叫焦点的元素,新增了
document.hasFocus()方法用于确定文档是否获得了焦点。 HTMLDocument的变化:Document的readyState
属性,loading表示正在加载的文档,complete表示已经加载完成的文档,通过它来实现一个指示文档已经加载
完成的指示器;兼容模式,document.compatMode属性在标准模式下返回“CSS1Compat”,在混杂模式下
返回“BackCompat”;新增了document.head属性 字符集属性:charset和defaultCharset这两个属性
可以得到文档使用的字符编码的具体信息 自定义数据属性:添加 data-前缀可以添加任意命名的属性,
通过元素的dataset属性来访问自定义属性的值。
  插入标记:innerHTML属性:在读模式下,innerHTML属性返回与调用元素的所有子节点对应的HTML标记。
 在写模式下,innerHTML属性会根据指定的值创建新的DOM树,然后用这个DOM树完全替换调用元素原先的
所有子节点。outerHTML:在读模式下,outerHTML返回调用它的元素及所有子节点的HTML标签,在写模式
下,outerHTML会根据指定的HTML字符串创建新的DOM子树,然后用这个DOM子树完全替换调用元素。
如: div.outerHTML="<p>this is a p</p>" 相当于 var p=document.createElement("p"); p.appendChild
(document.createTextNode("this is a p")); div.parentNode.replaceChild(p,div); 新创建的额<p>元素会取代
DOM树中所有的<div>元素。 insertAdjacentHTML()方法,接收两个参数,插入的位置和要插入的HTML文
本,第一个参数必须是:beforebegin afterbegin beforeend afterend
scrollIntoView()方法:这个方法用来控制页面滚动,这个方法可以对所有HTML元素使用,通过滚动浏览器窗口
或某个容器元素,调用元素就可以出现在视口中。 children属性:指包含元素中同样还是元素的子节点,与
childNodes的值相同, element.children contains()方法:用来检测节点是不是某个节点的后代节点,返回
布尔值,alert(document.documentElement.contains(document,body)); 这个例子检测<body>元素
是否为<html>元素的后代,返回true。 插入文本的innerText属性:通过innerText属性可以操作元素中包含的
所有文本,包含子文档树中的文本。innerText属性读取值的时候,将子文档树中的所有文本拼接起来;写入值
的时候,会删除元素的所有子节点,插入包含相应文本值的文本节点。设置innerText属性移除了先前存在的所有
子节点,完全改变了DOM子树,同时也会对HTML的语法字符重新编码; outerText属性:与innerText属性
不同的是, outerText属性在写模式下,不只是替换调用它的元素子节点,而是会替换整个元素。例子:
div. outerText="hello world"; 相当于 var text = document.createTextNode("hello world");
div.parentNode.replaceChild(text,div)

时间: 2024-12-26 18:31:16

javascript高级程序设计 第十一章--DOM扩展的相关文章

读书笔记 - js高级程序设计 - 第十一章 DOM扩展

对DOM的两个主要的扩展 Selectors API HTML5 Element Traversal 元素遍历规范 querySelector var body = document.querySelector("body"); var myDiv = document.querySelector("#myDiv"); 取得id为myDiv的元素 var selected = document.querySelector(".selected")

javascript高级程序设计 第十三章--事件

javascript高级程序设计 第十三章--事件js与HTML的交互就是通过事件实现的,事件就是文档或浏览器窗口中发生的一些特定的交互瞬间. 事件流:事件流描述的是从页面中接收事件的顺序,IE的是事件冒泡流,Netscape的是事件捕获流,这个两个是完全相反的事件流概念. 事件冒泡:由最具体的元素接收,然后逐级向上传播到更高级的节点,即事件沿DOM树向上传播,直到document对象. 事件捕获:不大具体的节点应该更早接收到事件,相当于沿DOM节点树向下级传播直到事件的实际目标,在浏览器中,是

Javascript高级程序设计——第三章:基本概念

javascript高级程序设计——第三章:基本概念 一.语法 EMCA-262通过叫做ECMAScript的“伪语言”为我们描述了javascript实现的基本概念 javascript借鉴了C的语法,区分大小写,标示符以字母.下划线.或美元符号($)开头,注释可以用 // 或者/* */ 严格模式: ECMAScript 5引入了严格模式,在严格模式下不确定的行为将得到处理,通过在顶部添加 “use strict”来启用严格模式: function fuc(){ "use strict&qu

《JavaScript高级程序设计第五章--引用类型》之Object对象和array对象

这一章主要就是介绍各种内置对象的用法,认识其经常用到的属性和方法. 5.1Object类型 创建objec的方式,一种是new Object(),一种是对象字面量(简化创建包含大量属性的对象的过程) var person = { name = "Nicholas"; age = 27 };//最后一个属性不必添加逗号,ie7等会导致错误 //在使用对象字面量语法时,属性名也可以使用字符串.这里的数值属性会自动转字符串. var person = { "name" :

JavaScript高级程序设计第20章JSON 笔记 (学习笔记)

第二十章 JSON 1.Json 可以表示三种类型的值: 1.简单值: 表示数值:5  表示字符串:“hello wrold”注表示字符串时必须使用双引号 2.对象: {“name”:“mi”,”age”:24}与JavaScript对象有两处不同一是没有声明变量 二是没有末尾的分号json对象中属性必须带引号,对象里的值可以嵌套对象. 3.数组 Json数组表示:[25,”hi”,true]和json对象一样json里也没有分号和变量 2.json对象 1.Stringify()方法用于把ja

JavaScript学习笔记(十一)---- DOM扩展

(一)DOM扩展 对DOM的主要的扩展是SelectorsAPI(选择符API)和HTML5,还有一个Element Travesal规范. 1.选择符API jQuery的核心就是通过CSS选择符查询DOM文档取得元素的引用,从而抛开了getElementById( ) 和 getElementsByTagName( ). Selectors API Level 1的核心是两个方法:querySelector( )和 querySelectorAll( ). querySelector( ):

javascript高级程序设计 1 ~ 3 章 部分知识点总结

第一章 javascript简介 javascript的简介,有关js的一些历史问题. js初期在不同的浏览器存在很大的兼容问题,但是慢慢的大家都在向标准靠拢,兼容问题已经好很多了. 我们通常会听到ECMAScript,它跟javascript是什么关系呢? JS = ES + BOM(浏览器对象模型) + DOM(文档对象模型)  ES就是对javascript的类型,值,对象,属性,函数以及程序句法和语义,DOM就是ES运行在浏览器环境的时候,浏览器为其提供的扩展以实现更多更具体的功能(we

《JAVASCRIPT高级程序设计》第一章

在使用调制解调器的时代,频繁的表单验证对客户端来说是一个很大的负担,javascript,作为一种专门进行表单验证的客户端脚本语言诞生了.到今天,javascript早已超越了当初设定的角色.Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模式(BOM) 一.ECMAScript ECMAScript是对Javascript这门语言的描述,它规定了这门语言的这些组成部分:语法.类型.语句.关键字.保留字.操作符.对象.Web浏览器是ECMA

JavaScript高级程序设计:第一章

JavaScript简介: 1.JavaScript实现应该由以下三部分组成: (1)核心:ECMAScript (2)文档对象模型:DOM (3)浏览器对象模型:BOM 2.什么是ECMAScript兼容: (1)支持ECMA-262描述的所有“类型.值.对象.属性.函数以及程序句法和语义”. (2)支持Unicode字符标准. (3)添加ECMA-262没有描述的“更多类型.值.对象.属性和函数”. (4)支持ECMA-262没有定义 3.文档对象模型(DOM) 1.文档对象模型是针对XML