1.DOM的基本概念
-
DOM:文档对象模型,其实就是操作 html 中标签的一些能力
-
比如:
- 获取一个元素(标签)
- 移除一个元素
- 创建一个元素
- 向页面添加一个元素
- 给元素绑定一些事件
- 获取元素的属性
- 给元素添加一些css样式
- ...
2.DOM的核心
- DOM的核心 就是 document 对象;document 对象是 JS 内置的一个对象,里边存储着专门用来操作元素的各种方法
- 页面中的标签, 我们通过 JS 获取到以后, 就把这个对象叫做 DOM对象(DOM节点)
3.DOM获取元素
3.1获取非常规元素
document.documentElement -> html标签
document.head -> head标签
document.body -> body标签
//1.html标签
console.log(document.documentElement)
//2.head
console.log(document.head)
//3.body
console.log(document.body)
3.2 获取常规元素
这里先写一些标签,供下面的获取使用:
<div id="box">我是id名为box的div标签</div>
<div class="box_cla">我是class名为box_cla的div标签</div>
<div class="box_cla">我是class名为box_cla的div标签1</div>
<div class="box_cla">我是class名为box_cla的div标签2</div>
<script>
3.2.1 通过ID名获取标签
- 语法: document.getElementById('ID名')
//获取到页面中ID为box的标签
var box = document.getElementById('box')
console.log(box)
3.2.2 通过class名获取标签
- 语法: document.getElementsByClassName('class名')
- 注意:因为页面中可能会有多个元素的 class 相同,所以获取到的是一组元素
- 获取到后,会把元素放在一个长得很像数组一样的数据结构内,但他并不是数组,我们管这种数据结构叫做 伪数组
- 伪数组: 长得很像数组,也是通过索引排列的,但是没有数组的方法
// 获取到页面中class为box_cla的标签
var box_cla = document.getElementsByClassName('box_cla')
console.log(box_cla)
console.log(box_cla[0])
console.log(box_cla[1])
console.log(box_cla[2])
3.3.3 通过标签名获取
- 语法: document.getElementsByTagName('标签名')
- 注意:获取到的也是一个长得很像数组的数据结构,其实就是获取到了一个伪数组
- 想要准确的获取到标签元素,我们需要通过索引来帮助我们拿到
//获取到页面中标签名为div的标签
var divs = document.getElementsByTagName('div')
console.log(divs)
3.3.4 按照选择器的形式来获取元素
- querySelector,这个方法允许我们像写css的时候的选择器一样获取标签
- 注意:这个方法只能获取到一个元素,就是满足条件的第一个元素
- 语法: document.querySelector('选择器')
- querySelectorAll
- 这个方法与querySelector 选择器类似,只不过会将所有满足条件的元素都获取到,也放在一个伪数组中
- 注意:这个方法能获取到所有满足条件的元素
- 语法: document.querySelectorAll('选择器')
//按照选择器的形式获取标签querySelector
var box2 = document.querySelector('.box_cla')
var box3 = document.querySelector('div')
console.log(box2)
console.log(box3)
//querySelectorAll
var box4 = document.querySelectorAll('.box_cla')
var box5 = document.querySelectorAll('div')
console.log(box4)
console.log(box5)