DOM 是一个对象,对应HTML中的节点
获取dom
创建dom
document.createElement()
传入标签名
更改dom结构
dom.remove()
从文档树中删除 dom , 不会删除dom对象
dom.removeChild()
删除 dom 的某个子节点
dom.insertBefore
在 dom 的子节点中,添加一个新节点到另一个节点之前
dom.appendChild()
添加一个新节点到 dom 的子节点末尾
获取dom属性
属性指html标签的属性例如 id,name,value...
属性分为两种 自定义属性:HTML 元素标准中未定义的属性 标准属性:HTML 元素本身拥有的属性
所有标准属性均可通过 dom.属性名
得到,其中:
可以修改元素的普通属性,不能修改样式属性
- 布尔属性会被自动转换为 boolean
- 路径类的属性会被转换为绝对路径
- 标准属性始终都是存在的,不管你是否有在元素中属性该属性
- class 由于和关键字重名,因此需要使用 className
所有的自定义属性均可通过下面的方式操作:
dom.setAttribute(name, value)
,设置属性键值对dom.getAttribute(name)
,获取属性值
自定义属性和元素源码书写是对应的,可以尝试获取
获取dom 内容
dom.innerText
:获取设置节点文本内容
dom.innerHTML
:获取设置HTML内容
更改dom样式
在 JS 中,有两种样式:
- 内联样式:元素的 style 属性中书写的样式
- 计算样式(最终样式):元素最终计算出来的样式
JS 可以获取内联样式和计算样式,但只能设置内联样式
下面罗列了样式的常见操作:
dom.style
:获取元素的内联样式,得到样式对象- 对象中的所有样式属性均可以被赋值,赋值后即可应用样式到元素的 style 中
getComputedStyle(dom)
:获取元素的计算样式,得到一个样式对象- 该样式对象中的属性是只读的,无法被重新赋值
关于样式对象,注意:
- 当给样式赋值为空字符串时,相当于删除内联样式
- 当给样式的赋值不合法时,赋值语句无效,不会报错
- CSS 的短横线命名法,在属性名中表现为驼峰命名法