博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js011-DOM扩展
阅读量:4994 次
发布时间:2019-06-12

本文共 2234 字,大约阅读时间需要 7 分钟。

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/p/5155276.html

转载于:https://www.cnblogs.com/lal-fighting/p/5155276.html

你可能感兴趣的文章
iOS - Push 通知推送
查看>>
[FJOI2007]轮状病毒
查看>>
Azure AADSTS7000215 其中一种问题的解决
查看>>
关于吃苦
查看>>
uva 1629切蛋糕(dp)
查看>>
生成awr报告
查看>>
cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
查看>>
Android 深入解析光传感器(二)
查看>>
Ansible@一个高效的配置管理工具--Ansible configure management--翻译(八)
查看>>
【bzoj4552/Tjoi2016&Heoi2016】排序——二分+线段树/平衡树+线段树分裂与合并
查看>>
Windows Internals学习笔记(八)IO系统
查看>>
sql插件,SQLPrompt
查看>>
Objetive-C 属性和线程安全
查看>>
mybatis pagehelper实现分页
查看>>
很牛的javascript日期转换函数
查看>>
javascript格式化json显示
查看>>
Redis 在 SNS 类应用中的最佳实践有哪些?
查看>>
关于Unity 动画绘制原理
查看>>
django-xadmin后台开发
查看>>
Canvas链式操作
查看>>