事件篇
- window.onload:事件
- Dom查询
- innerhtml ----获取节点的html内容,或者设置对应节点html内容
- 读取或者设置节点的相关属性
- 获取元素节点的子节点
-
- children属性可以获取到当前元素所有子元素,不包括文本节点
- 区分概念: 节点包括文本节点,而元素不包括文本节点
- firstChild获取当前元素第一个子节点 VS firstElementChild获取当前元素第一个子元素
- parentNode :获取一个元素的父元素
- innertext :获取到一个标签里面的文本内容
- 获取兄弟节点,也可能会获取到空白节点
- 获取兄弟元素
- 节点的属性
- 获取body标签====》document.body
- 获取html标签===》document.documentElement
- document.all返回一个数组,保存页面里面所有的元素
- getElementByClassName:根据class属性值查询一组元素节点对象
- document.querySelector 和querySelectorAll
- DOM的增删改
-
- document.createElement()—创建元素节点对象
- document.createTextNode()—创建文本节点
- 父节点.appendChild()----向一个父节点中添加一个子节点
- 父节点.insertBefore(新节点,旧节点): 在指定子节点前插入新的子节点
- 父节点.replaceChild(新节点,旧节点): 使用指定的子节点替换已有的子节点
- 父节点.removeChild(子节点):删除子节点
- 使用innerHTML也可以完成DOM的增删改操作
- 阻止a标签默认行为的常用三种方式
- a标签的索引问题
- JS修改元素的样式
- 读取元素的内联样式
- 获取当前元素显示的样式—只读
- 元素.clientHeight和元素.clientWidth获取元素可见宽度和高度—只读,无法修改
- 元素.offsetWidth和元素.offsetHeight—获取元素整个的宽度和高度(包括边框)—只读
- 元素.offsetParent获取当前最近开启了定位的祖先元素–只读
- 事件的冒泡和事件对象event
- 事件的委派
- 事件的绑定----为另一个元素绑定多个事件
- 事件的传播
- 拖拽案例—鼠标按下,移动,松开事件
- 鼠标滚轮事件----onmousewheel----火狐不支持,由DOMMouseScroll替代
- 键盘事件
- 浏览器对象模型—navigator
- 浏览器对象模型—History
- 浏览器对象模型—Location
- 浏览器对象模型—Window常用的三个弹出框
- 定时器
- 延时调用
- JS修改元素样式的一些思考
- JSON
window.onload:事件
浏览器加载一个页面时,是按照自上而下的顺序加载的,读取到一行就运行一行,如果将script标签写到页面上边,在代码执行的时候,页面还没有完全加载
window.onload事件会在整个页面加载完成之后,才会触发,将对应的script代码,写在里面,可以确保script代码可以在页面加载完成之后,才会执行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>大忽悠</title>
</head>
<body>
<div id="div"><strong>嘿嘿</strong></div>
<script type="text/javascript">
window.onload=function()
{
//返回的是元素数组对象
var d1=document.getElementById("div");
alert(d1.innerHTML);
}
</script>
</body>
</html>
Dom查询
innerhtml ----获取节点的html内容,或者设置对应节点html内容
innerHTML在JS是双向功能:获取对象的html内容 或 向对象插入html内容
我们可以通过 document.getElementById(‘aa’).innerHTML 来获取id为aa的对象的内嵌内容;
也可以对某对象插入内容,如 document.getElementById(‘abc’).innerHTML=’这是被插入的内容’;
读取或者设置节点的相关属性
//返回的是元素数组对象
var d1=document.getElementById("div");
//读取或设置节点class属性
d1.className
//id属性
d1.id
//name属性
d1.name
//value属性
d1.value
获取元素节点的子节点
childNodes属性会获取包括文本节点在内的所有节点,注意DOM标签与标签之间的空白也会被当成文本节点
在IE8一下的浏览器中,不会将空白文本当成子节点,所以该属性再IE8中会返回4个子元素,而其他浏览器都是9个