-
- 起源
-
- 特性
-
JavaScript基本语法
- 编写位置
<scripttype="text/javascript"> </script> |
②写在外部的.js文件中。然后通过script标签引入。
<scripttype="text/javascript"src="script.js"></script> |
-
- 变量
-
- 函数
functionsum(n, m) { returnn + m;} |
vara =function() { return2;};varb = a;a.fname = "tom";alert(b.fname);//结果为tom |
vara =function() { return2;};alert(a());//结果为2 |
-
- 对象
varobj =newObject(); |
varobj = {}; |
obj.name ="zhangsan";obj.age = 12;obj.sum =function(a,b){returna+b;} |
varobj = {"name":"zhangsan", "age": 21, "sum":function(a,b){returna+b;} }; |
-
- this关键字
varobj01 = { name :"obj01 name", getName : showName }; varobj02 = { name :"obj02 name", getName : showName }; functionshowName() { alert(this.name); } obj01.getName();//结果为obj01 name obj02.getName();//结果为obj02 name |
-
JavaScript事件驱动
- 事件
-
- 自定义事件响应函数
-
- 取消控件默认行为
-
JavaScript嵌入方式
- 浏览器加载顺序
-
- 嵌入HTML标签的事件属性中
<buttononclick="alert('hello');">点我</button> |
-
- 嵌入head标签内
<scripttype="text/javascript"> varbtnEle = document.getElementById("btn"); btnEle.onclick =function() { alert("hello"); };</script></head><body> <buttonid="btn">点我</button></body> |
-
- 嵌入body标签后面
-
- window对象
-
- onload事件
-
- 使用window.onload完美解决问题
<scripttype="text/javascript"> window.onload =function() { varbtnEle = document.getElementById("btn"); btnEle.onclick =function() { alert("hello"); }; };</script></head><body> <buttonid="btn">点我</button></body> |
-
DOM
- DOM标准
-
- document对象
-
- DOM树
父元素:直接包含当前元素的元素就是当前元素的父元素子元素:当前元素直接包含的元素就是当前元素的子元素祖先元素:直接或间接包含当前元素的所有元素都是当前元素的祖先元素后代元素:当前元素直接或间接包含的元素就是当前元素的后代元素兄弟元素:有相同父元素的元素是兄弟元素 |
-
-
节点(Node)
- HTML文档中的每个成分都是一个节点,HTML文档是由DOM节点构成的集合。
- 节点的分类
-
节点(Node)
-
-
- 节点的属性
-
- nodeName: 代表当前节点的名字,只读属性。如果给定节点是一个文本节点,nodeName 属性将返回内容为 #text 的字符串。
- nodeType:返回一个整数, 这个数值代表着给定节点的类型,只读属性。 1 -- 元素节点 2 -- 属性节点 3 -- 文本节点
- nodeValue:返回给定节点的当前值(字符串),可读写的属性。
- 元素节点, 返回值是 null
- 属性节点: 返回值是这个属性的值
- 文本节点: 返回值是这个文本节点的内容
-
- DOM查询API
功能 | API | 返回值 |
·在整个文档范围内查询元素节点 | ||
根据id值查询 | document.getElementById(“id值”) | 一个具体的元素节点 |
根据标签名查询 | document.getElementsByTagName(“标签名”) | 元素节点数组 |
根据name属性值查询 | document.getElementsByName(“name值”) | 元素节点数组 |
·在具体元素节点范围内查找子节点 | ||
查找全部子节点 | element.childNodes【W3C考虑换行,IE≤8不考虑】 | 节点数组 |
查找第一个子节点 | element.firstChild【W3C考虑换行,IE≤8不考虑】 | 节点对象 |
查找最后一个子节点 | element.lastChild【W3C考虑换行,IE≤8不考虑】 | 节点对象 |
查找指定标签名的子节点 | element.getElementsByTagName(“标签名”) | 元素节点数组 |
·查找指定元素节点的父节点:element.parentNode | ||
·查找指定元素节点的兄弟节点 | ||
查找前一个兄弟节点 | node.previousSibling【W3C考虑换行,IE≤8不考虑】 | 节点对象 |
查找后一个兄弟节点 | node.nextSibling【W3C考虑换行,IE≤8不考虑】 | 节点对象 |
-
- DOM增删改API
API | 功能 |
document.createElement(“标签名”) | 创建元素节点并返回,但不会自动添加到文档中 |
document.createTextNode(“文本值”) | 创建文本节点并返回,但不会自动添加到文档中 |
element.appendChild(ele) | 将ele添加到element所有子节点后面 |
parentEle.insertBefore(newEle,targetEle) | 将newEle插入到targetEle前面 |
parentEle.replaceChild(newEle, oldEle) | 用新节点替换原有的旧子节点 |
parentEle.removeChild(childNode) | 删除指定的子节点 |
element.innerHTML | 读写HTML代码 |