DOM的动态操作

99 阅读2分钟

「这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战」 。

一:增:

创建节点:createElement('要创建的标签名')

二:删:

删除子节点:父元素.removeChild(删除哪个子节点)

三:改:

1.修改属性:元素.属性名 = '属性值'
2.修改css样式:元素.style.样式名 = '样式值'
3.修改文本:
(1).元素.innerText = ''

innerText只识别文本

(2).元素.innerHTML = '' 两者的区别:

innerText不可以解析字符串中的标签
innerHTML可以解析字符串中的标签

4.修改类名: (1).元素.className = '类名'

注意:这个会覆盖之前的类名,如果需要保留之前的类名,就一起写上,例如:元素.className = '类名1,类名2'

(2).增加类名:元素.classList.add('类名')

这个不会覆盖类名,直接新增

(3).删除类名:元素.classList.remove('类名')
(4).切换类名:元素.classList.target('类名')

注意:切换类名有则移除,无则新增

(5)确定元素中是否包含指定的类名:元素.classList.contains( '类名' ); 返回值为true 、false;

注意:classlist要修改的类名里面不需要加点

四:查:

1.querySelector(标签/类名/id等)

获取的是html标签里面满足条件的单个元素(第一个)

2.querySelectorAll()

获取满足条件的所有元素,返回的是伪数组(有数组的三要素(元素,下标,长度),但是不能使用数组的方法)数组里面放的是对象[DOM对象1,DOM对象2,DOM对象3。。。],选择器不存在返回的是空数组

两者的区别:
querySelector()
(1)返回的是对象
(2)可以直接操作修改
(3)选择器存在,则会获得DOM对象,不存在返回null
querySelectorAll()
(1)返回的是对象
(2)不可以直接操作修改,需要加数组下标才可以修改

3.通过元素的id来查元素:

document.getElementById(id)

4.通过元素的标签名查元素:

document.getElementsByTagName(name)

获得的是,所有符合标签(伪数组)

5.通过类名来查找元素:

document.getElementsByClassName(name)

获得的是,所有符合标签(伪数组)

6.attribute语法:

(1)添加属性:addattribute(‘属性名’,属性值)

(2)获取属性:getattribute(‘属性名’)

(3)删除属性:removeattribute(‘属性名’)

作用:可以用于存储用完即销毁的数据

\