DOM
DOM是赋予js控制html结构的能力的核心。
立即调用的函数表达式(function(i){})(i)
style.left的值是字符串,
parseInt将字符串转化为数值。
认识dom
1.子节点
2.为什么使用dom?解决dhtml dom0级标准不存在,只是一样象征。
3.dom级别
- dom1映射文本结构
- dom核心
- dom html
- dom2级
- dom视图
- dom事件
- 基于css样式的借口
- dom遍历和范围
- dom3级
- dom load、save
- dom validation验证
4.文档类型
GML通用标记---SGML标准通用标记语言---HTML超文本标记语言---XML可扩展性标记语言
- !doctype用什么方式解析文档
- xml用来存放格式化数据
5.节点类型
1.attr documentfragement(占位符、类似声明的变量),两者不属于dom数。
2.根元素也是document的子节点。
3.IE中未定义字符常量中NODE,所以判断节点类型用数值常量。
- 元素1;nodeName 标签名;nodeValue null
- 属性2;nodeName 属性名;nodeValue 属性值
- 文本3;#text;nodeValue 文本内容
- 注释8;nodeName #comment;nodeValue 注释内容
- 文档9;
- 文档类型10;nodeName 文档类型;nodeValue null
- 文档片段11; nodeName #document-fragment;nodeValue null
6.domReady
html要被浏览器解析才能形成dom树,dom树构建完毕才叫domReady。
1.渲染引擎:
- 解析html,构建dom数。
- 解析样信息
- 布局dom节点
- 绘制dom节点
2.dom何时ready
- 写在body之后
- 用定时器每个一段时间进行调用,资源加载时间不确定,可能无效;颜色改变明显
- window.onload=function(){} 若html有很多图片,加载不玩就无响应 $(function)=$().ready(functionn)=
$(document).ready(function)
- DOMContentLoaded/dosroll hack:document.documentElement.doScroll('left')
- 各大主流框架ready实现 http://www.jb51.net/article/26251.htm
7.元素节点类型判定