1. DOM简介
1.1 什么是DOM
1.2 DOM 树
2. 获取元素
2.1如何获取页面元素
2.2 根据ID获取
根据getElementById()方法可以获取带有ID的元素对象
<body>
<div id="time">2019-9-9</div>
<script>
// 1. 因为我们文档页面从上往下加载,所以先要有标签 所以我们script写到标签的下面
// 2. 参数 id是大小写敏感的字符串
// 3. 返回的是一个元素对象
var timer = document.getElementById('time');
console.log(timer);
console.log(typeof timer);
// 4. console.dir 打印我们返回的元素对象 更好的查看里面的属性和方法
console.dir(timer);
</script>
</body>
2.3 根据标签名获取
- 使用getElementTagName() 方法可以返回带有指定标签名的对象的集合
注意:
1. 因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要遍历
2. 得到的元素是动态的
- 还可以获取某个元素(父元素)内部所有指定标签名的子元素
注意:父元素必须是单个对象(必须指明是哪一个元素对象),获取的时候不包括父元素自己
<script>
// 1. 返回的是 获取过来元素对象的集合 以伪数组的形式存储的
var list = document.getElementsByTagName('li');
console.log(list);
console.log(list[0]);
// 2. 想要依次打印里面的元素对象 我们可以采取遍历的方式
for(var i = 0; i < list.length; i++){
console.log(list[i]);
}
// 3. 如果页面中只有一个li 返回的还是伪数组的形式
// 4. 如果页面中没有这个元素,返回的是空的伪数组[]
// 5. element.getElementsByTagName('标签名'); 父元素必须是指定的单个元素
// 方法一
// var ol = document.getElementsByTagName('ol');
// console.log(ol[0].getElementsByTagName('li'));
// 方法二(一般情况) 通过id获取父元素
var ol = document.getElementsByTagName('ol');
console.log(ol[0].getElementsByTagName('li'));
</script>
2.4 通过HTML5 新增的方法获取
<script>
// 1. getElementsByClassName 根据类名获得元素对象集合
var boxs = document.getElementsByClassName('box');
console.log(boxs);
// 切记 里面的选择器需要加符号 .box #nav
// 2. querySelector('选择器'); 返回指定选择器返回第一个元素对象
var firstBox = document.querySelector('.box');
console.log(firstBox);
var nva = document.querySelector('#nav');
console.log(nav);
// 3. querySelectorAll('选择器'); 返回指定选择器的所有元素对象的集合
var allBox = document.querySelectorAll('.box');
console.log(allBox);
var lis = document.querySelectorAll('li');
console.log(lis);
</script>
2.5 获取特殊元素(body , html )
获取body元素
获取html元素
<script>
// 1. 获取body元素
var bodyEle = document.body;
console.log(bodyEle);
console.dir(bodyEle);
// 2. 获取html元素
var htmlEle = document.documentElement;
console.log(htmlEle);
</script>
3. 事件基础
3.1 事件概述
3.2 事件三要素
1. 事件有三部分组成 事件源 事件类型 事件处理程序 我们称为事件三要素
(1) 事件源 事件被触发的对象
(2) 事件类型 如何触发 什么事件 比如鼠标点击(onclick) 还是鼠标经过
(3) 事件处理程序 通过一个函数赋值的方式完成
<body>
<button id="btn">唐伯虎</button>
<script>
// 点击一个按钮,弹出对话框
// 1. 事件有三部分组成 事件源 事件类型 事件处理程序 我们称为事件三要素
// (1) 事件源 事件被触发的对象
var btn = document.getElementById('btn');
// (2) 事件类型 如何触发 什么事件 比如鼠标点击(onclick) 还是鼠标经过
// (3) 事件处理程序 通过一个函数赋值的方式完成
btn.onclick = function(){
alert('点秋香');
}
</script>
</body>
3.3 执行事件的步骤
1. 获取事件源
2. 注册事件(绑定事件)
3. 添加事件处理程序(采取函数赋值形式)
<body>
<div>123</div>
<script>
// 执行事件步骤
// 点击idv 控制台输出 我被选中了
// 1. 获取事件源
var div = document.querySelector('div');
// 2. 绑定事件 注册事件
// div.onclick
// 3. 添加事件处理程序
div.onclick = function(){
console.log('我被选中了');
}
</script>
</body>