您的位置:首页 > Web前端 > JavaScript

js011-DOM扩展

2016-01-24 15:53 633 查看
js011-DOM扩展

本章内容

理解Selecters API

使用HTML5 DOM扩展

了解转悠的DOM扩展

11.1选择符API

JS中最常用的一项功能,就是根据css选择符选择与某个模式匹配的DOM元素。

11.1.1 querySlector()方法

该方法接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null

取得body元素

var body = document.querySlector("body");

取得id为myDiv的元素

var myDiv = document.querySlector("#myDiv");

取得类为slected的元素

var slected = document.querySlector(".slected");

取得类为button的第一个图像元素

var button = document.querySlector("img.button");

11.1.2 querySlectorAll()方法

接收的参数和querySlector()一样但是返回的不仅不仅是一个元素,而是一个NodeList的实例。



querySlector()一样能够调用querySlectorAll()方法的有document,element,DocumentFragment。例子如上面例子类似。

11.1.3 matchSlector()方法

该方法能接收一个参数:css操作符,如果调用元素与该选择符匹配,则返回true,否则返回false

11.2 元素遍历

Element Travesal规范新定义了一组属性。

Element Travesal API为DOM 元素新定义了一下5个属性:

childElementCount

返回子元素(不包括文本节点和注释)的个数

firstElementChild

指向第一个子元素;firstchild的元素版

lastElementChild

指向最后一个子元素;lastchild的元素版

preciousElementSibling

指向前一个同辈元素preciousSibling的元素版

nextElementSibling

指向后一个同辈元素nextSibling的元素版

利用这些属性就不必担心空白文本节点,从而可以方便的查找DOM元素了、。

11.3 HTML5

11.3.1与类相关的扩充

1、getElementBYClassName()方法:接收一个参数:一个包含一个或多个类名的字符串,返回带有指定类的元素的NodeList,传入多个类是,类名的先后顺序不重要

2、classList属性

在操作类名时,需通过className属性添加、删除和替换类名,所以className是一个字符串,所以即使值修改字符串一部分,也必须每次都是指整个字符串的值。

11.3.2焦点管理

11.3.3 HTMLDocument的变化

1、readyState属性

两个可能值:

loading:正在加载文档;

complete:已经加载完文档。

2、兼容模式

3、head属性

作为对document.body引用过得文档<body>元素的不重,HTML5新增了document.head属性,引用文档的<head>元素

11.3.4字符集属性

charset属性

11.3.5自定义数据属性

添加非标准属性,前面添加前缀data-

11.3.6插入标记

1、inherHTML 属性

在读模式下,inherHTML属性返回与调用原色的所有子节点对应的HTML标记,在写模式下,inherHTML会根据指定的值,创建新的DOM树,然后用这个DOM树完全替换调用元素原先的所有子节点。

2、outerHTML属性

在读模式下,outerHTML属性返回与调用原色的所有子节点对应的HTML标签,在写模式下,inherHTML会根据指定的值,创建新的DOM树,然后用这个DOM树完全替换调用元素。

3、insertAdjacentHTML()方法

该方法接收两个参数:插入位置和要插入的HTML文本,第一个参数必须是以下值之一:

beforebegin

在当前元素之前插入一个紧邻的同辈元素;

afterbegin

在当前元素之下插入一个新的子元素或在第一个元素之前再插入一个新的子元素;

beforeend

在当前元素之下插入一个新的子元素或在最后一个元素之前再插入一个新的子元素;

afterend

在当前元素之后插入一个紧邻的同辈元素;

4、内存与性能问题

11.3.6 scrollIntoView()方法

页面滚动

11.4 专有扩展

11.4.1文档模式

11.4.2 children属性

11.4.3 contains()方法

11.4.4插入文本

1、innerText属性,可以操作元素中包含的所有文本内容,包括子文档树种的文本。

2、outerText属性

作用范围扩大到调用它的节点。其余的和innerText属性相似

11.4.5滚动

好冻。手已经冻的没办法正常打字了。。。

声明:该博客由http://www.cnblogs.com/lal-fighting/原创发表,未经作者允许,不得私自转载抄袭!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: