持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
一。DOM常见的操作有哪些?
创建节点:
- createElement 创建新元素,接受一个参数,即要创建元素的标签名
- createTextNode 创建一个文本节点
- createDocumentFragment 用来创建一个文档碎片,它表示一种轻量级的文档,主要是用来存储临时节点,然后把文档碎片的内容一次性添加到
DOM中。当请求把一个DocumentFragment节点插入文档树时,插入的不是DocumentFragment自身,而是它的所有子孙节点 - createAttribute 创建属性节点,可以是自定义属性
获取节点:
- querySelector 根据css的选择器获取单个元素
- querySelectorAll 根据css的选择器获取所有元素
- getElementById 根据元素的id属性获取单个元素
- getElementsByClassName 根据元素的class属性获取所有元素
- getElementsByTagName 根据元素的标签名获取所有元
- getElementsByName 根据元素的name属性获取所有元素
- document.documentElement 获取html标签
- document.body 获取body标签
更新节点:
- innerHTML 更新html内容
- innerText、textContent 更新文本内容。两者的区别在于读取属性时,
innerText不返回隐藏元素的文本,而textContent返回所有文本 - style 操作元素的样式
添加节点:
-
innerHTML 直接使用innerHTML属性,向元素中添加元素
-
appendChild 把一个子节点添加到父节点的最后一个子节点
-
insertBefore 把子节点插入到指定的位置
parentElement.insertBefore(newElement, referenceElement) //子节点会插入到referenceElement之前 -
setAttribute 在指定元素中添加一个属性节点,如果元素中已有该属性改变属性值
const div = document.getElementById('id') div.setAttribute('class', 'white');//第一个参数属性名,第二个参数属性值。
删除节点:
删除一个节点,首先要获得该节点本身以及它的父节点,然后,调用父节点的removeChild把自己删掉
二。说说你对BOM的理解,常见的BOM对象你了解哪些?
是什么:
BOM (Browser Object Model),浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象
其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率
浏览器的全部内容可以看成DOM,整个浏览器可以看成BOM。
window:
Bom的核心对象是window,它表示浏览器的一个实例
在浏览器中,window对象有双重角色,即是浏览器窗口的一个接口,又是全局对象
因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法
location:操作url地址信息
navigator:获取浏览器的属性,区分浏览器类型
screen:获取浏览器窗口外面的客户端显示器的信息
history:用来操作浏览器URL的历史记录