JavaScript
JavaScript
由以下三部分组成:
ECMAScript 欧洲计算机制造商协会
描述了JS的语法和基本对象
DOM 文档对象模型
处理网页内容的方法和接口
BOM 浏览器对象模型
与浏览器交互的方法和接口
文档对象模型(DOM)
处理网页内容的方法和接口
DOM 定义
DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。
DOM 树
节点概念 --- 标签 标记 元素 ......
整个文档就是一个文档节点,而每一个HMTL标签都是一个元素节点,标签中的文字则是文字节点,标签的属性是属性节点,一切都是节点……
封装自己class类
原理: (核心)
我们要取出所有的盒子,利用遍历的方法,通过每一个盒子的className 来判断,如果相等就留下。
访问关系
节点的相互关系
父节点 parentNode
兄弟节点
nextSibling 下一个兄弟 只有IE678兼容
nextElementSibling 其他浏览器认识的(除了IE678)
兼容的写法
注意:必须先写 正常浏览器 后写 ie678,如果顺序颠倒,正常浏览器会报错。
previousSibling 上一个兄弟 只有IE678兼容
previousElementSibling 其他浏览器认识的(除了IE678)
子节点(少用,因为如果第一行是空格,就会把空格当作第一个子节点)
firstChild 第一个孩子 ie678
firstElementChild 正常浏览器
lastChild 最后一个孩子 ie678
lastElementChild 正常浏览器
孩子节点
childNodes 选出全部的孩子
它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点。
注意:火狐 谷歌等高本版会把换行也看做是子节点
利用 nodeType == 1 时才是元素节点,来获取元素节点
children(最好用) 选取所有的孩子(只有元素节点),没有兼容性的问题,但是在IE678中包含注释节点