一、什么是DOM
文档对象模型(Document Object Model ,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。
文档:一个页面就是一个文档,DOM中使用document表示
元素:页面中所有的标签都是元素,DOM中使用element表示
节点:网页中所有的内容都是节点(标签,属性,文本,注释等),DOM中使用node表示
二、获取元素方法
1.根据ID获取
document.getElementById('id名')
- 上下文必须是document。
- 必须传参数,参数是string类型,是获取元素的id。
- 返回值只获取到一个元素,没有找到返回null。
2.通过name属性(getElementsByName)
document.getElementsByName('name')
- 上下文必须是document。内容
- 必须传参数,参数是是获取元素的name属性。
- 返回值是一个类数组,没有找到返回空数组。
3.通过标签名(getElementsByTagName)
var obj = document.getElementsByTagName('div'); for(let i = 0; i<obj.length; i++){ obj[i].onclick = function(e){ console.log(i) } }
- 上下文可以是document,也可以是一个元素,注意这个元素一定要存在。
- 参数是是获取元素的标签名属性,不区分大小写。
- 返回值是一个类数组,没有找到返回空数组
4.通过类名(getElementsByClassName
var obj1 = document.getElementsByClassName('animated') // console.log 0:div.app.animated 1:div#login.login.animated.rubberBand 2:div#reg.reg.animated.shake 3:div#kefu.kefu.animated.swing 4:div#LoginState.state.animated.bounce 5:div.loginState.animated 6:div.regState.animated 7:div.pop.animated
- 上下文可以是document,也可以是一个元素。
- 参数是元素的类名。
- 返回值是一个类数组,没有找到返回空数组。
5.通过选择器获取一个元素(querySelector)
document.querySelector('.animated')
- 上下文可以是document,也可以是一个元素。
- 参数是选择器,如:”div .className”。
- 返回值只获取到第一个元素。
6.通过选择器获取一组元素(querySelectorAll)
document.querySelector('.animated')
- 上下文可以是document,也可以是一个元素。
- 参数是选择器,如:”div .className”。
- 返回值是一个类数组。
7.获取html的方法(document.documentElement)
- document.documentElement是专门获取html这个标签的
8.获取body的方法(document.body)
- document.body是专门获取body这个标签的